Provide proper INSTALL targets for .pro files

Plus: reduce compiler warnings
This commit is contained in:
Matthias Koefferlein 2017-08-21 02:33:45 +02:00
parent edae27b9aa
commit 55e797ffaf
26 changed files with 107 additions and 131 deletions

View File

@ -3,11 +3,10 @@ DESTDIR = $$OUT_PWD/..
TARGET = klayout_ant TARGET = klayout_ant
include($$PWD/../klayout.pri) include($$PWD/../klayout.pri)
include($$PWD/../lib.pri)
DEFINES += MAKE_ANT_LIBRARY DEFINES += MAKE_ANT_LIBRARY
TEMPLATE = lib
HEADERS = \ HEADERS = \
antConfig.h \ antConfig.h \
antConfigPage.h \ antConfigPage.h \

10
src/app.pri Normal file
View File

@ -0,0 +1,10 @@
TEMPLATE = app
inst_target.path = $$PREFIX
win32 {
inst_target.files = $$DESTDIR/$${TARGET}.exe
} else {
inst_target.files = $$DESTDIR/$${TARGET}
}
INSTALLS = inst_target

View File

@ -3,11 +3,10 @@ DESTDIR = $$OUT_PWD/../../..
TARGET = klayout_bd TARGET = klayout_bd
include($$PWD/../../../klayout.pri) include($$PWD/../../../klayout.pri)
include($$PWD/../../../lib.pri)
DEFINES += MAKE_BD_LIBRARY DEFINES += MAKE_BD_LIBRARY
TEMPLATE = lib
SOURCES = \ SOURCES = \
bdInit.cc \ bdInit.cc \
bdReaderOptions.cc \ bdReaderOptions.cc \

View File

@ -1,12 +1,12 @@
include($$PWD/../../klayout.pri) include($$PWD/../../klayout.pri)
TEMPLATE = app
PRO_BASENAME = $$basename(_PRO_FILE_) PRO_BASENAME = $$basename(_PRO_FILE_)
TARGET = $$replace(PRO_BASENAME, ".pro", "") TARGET = $$replace(PRO_BASENAME, ".pro", "")
DESTDIR = $$OUT_PWD/../../.. DESTDIR = $$OUT_PWD/../../..
include($$PWD/../../app.pri)
# Since the main function is entirely unspecific, we can put it into a common # Since the main function is entirely unspecific, we can put it into a common
# place - it's not part of the bd sources. # place - it's not part of the bd sources.
SOURCES = $$PWD/bd/main.cc SOURCES = $$PWD/bd/main.cc

View File

@ -1,4 +1,7 @@
DESTDIR_UT = $$OUT_PWD/../..
DESTDIR = $$OUT_PWD/..
TARGET = bd_tests TARGET = bd_tests
include($$PWD/../../klayout.pri) include($$PWD/../../klayout.pri)
@ -13,7 +16,8 @@ SOURCES = \
bdStrmxorTests.cc \ bdStrmxorTests.cc \
INCLUDEPATH += ../src/bd INCLUDEPATH += ../src/bd ../../db ../../tl ../../gsi ../../laybasic ../../lay ../../ut
DEPENDPATH += ../src/bd DEPENDPATH += ../src/bd ../../db ../../tl ../../gsi ../../laybasic ../../lay ../../ut
LIBS += -L$$DESTDIR_UT -lklayout_db -lklayout_tl -lklayout_gsi -lklayout_laybasic -lklayout_lay -lklayout_ut
LIBS += -L$$DESTDIR -lklayout_bd LIBS += -L$$DESTDIR -lklayout_bd

View File

@ -3,11 +3,10 @@ DESTDIR = $$OUT_PWD/..
TARGET = klayout_db TARGET = klayout_db
include($$PWD/../klayout.pri) include($$PWD/../klayout.pri)
include($$PWD/../lib.pri)
DEFINES += MAKE_DB_LIBRARY DEFINES += MAKE_DB_LIBRARY
TEMPLATE = lib
SOURCES = \ SOURCES = \
dbArray.cc \ dbArray.cc \
dbBox.cc \ dbBox.cc \

View File

@ -3,11 +3,10 @@ DESTDIR = $$OUT_PWD/..
TARGET = klayout_edt TARGET = klayout_edt
include($$PWD/../klayout.pri) include($$PWD/../klayout.pri)
include($$PWD/../lib.pri)
DEFINES += MAKE_EDT_LIBRARY DEFINES += MAKE_EDT_LIBRARY
TEMPLATE = lib
HEADERS = \ HEADERS = \
edtConfig.h \ edtConfig.h \
edtDialogs.h \ edtDialogs.h \

View File

@ -3,11 +3,10 @@ DESTDIR = $$OUT_PWD/..
TARGET = klayout_ext TARGET = klayout_ext
include($$PWD/../klayout.pri) include($$PWD/../klayout.pri)
include($$PWD/../lib.pri)
DEFINES += MAKE_EXT_LIBRARY DEFINES += MAKE_EXT_LIBRARY
TEMPLATE = lib
HEADERS += \ HEADERS += \
extBooleanOperationsDialogs.h \ extBooleanOperationsDialogs.h \
extDEFImporter.h \ extDEFImporter.h \

View File

@ -3,11 +3,10 @@ DESTDIR = $$OUT_PWD/..
TARGET = klayout_gsi TARGET = klayout_gsi
include($$PWD/../klayout.pri) include($$PWD/../klayout.pri)
include($$PWD/../lib.pri)
DEFINES += MAKE_GSI_LIBRARY DEFINES += MAKE_GSI_LIBRARY
TEMPLATE = lib
SOURCES = \ SOURCES = \
gsi.cc \ gsi.cc \
gsiClassBase.cc \ gsiClassBase.cc \

View File

@ -3,11 +3,10 @@ DESTDIR = $$OUT_PWD/..
TARGET = klayout_gsiqt TARGET = klayout_gsiqt
include($$PWD/../klayout.pri) include($$PWD/../klayout.pri)
include($$PWD/../lib.pri)
DEFINES += MAKE_GSIQT_LIBRARY DEFINES += MAKE_GSIQT_LIBRARY
TEMPLATE = lib
# NOTE: db is required since some bridges to db are provided (i.e db::Polygon) # NOTE: db is required since some bridges to db are provided (i.e db::Polygon)
INCLUDEPATH += ../tl ../gsi ../db ../gsiqt INCLUDEPATH += ../tl ../gsi ../db ../gsiqt
DEPENDPATH += ../tl ../gsi ../db ../gsiqt DEPENDPATH += ../tl ../gsi ../db ../gsiqt

View File

@ -3,11 +3,10 @@ DESTDIR = $$OUT_PWD/..
TARGET = klayout_img TARGET = klayout_img
include($$PWD/../klayout.pri) include($$PWD/../klayout.pri)
include($$PWD/../lib.pri)
DEFINES += MAKE_IMG_LIBRARY DEFINES += MAKE_IMG_LIBRARY
TEMPLATE = lib
HEADERS = \ HEADERS = \
imgLandmarksDialog.h \ imgLandmarksDialog.h \
imgNavigator.h \ imgNavigator.h \

View File

@ -44,9 +44,6 @@ equals(HAVE_QT5, "1") {
CONFIG += designer CONFIG += designer
} }
target.path = $$PREFIX
INSTALLS += target
# only support the required symbols for shared object load performance # only support the required symbols for shared object load performance
win32 { win32 {
QMAKE_LFLAGS += -Wl,--exclude-all-symbols QMAKE_LFLAGS += -Wl,--exclude-all-symbols

View File

@ -3,10 +3,10 @@ DESTDIR = $$OUT_PWD/..
include($$PWD/../klayout.pri) include($$PWD/../klayout.pri)
TEMPLATE = app
TARGET = klayout TARGET = klayout
include($$PWD/../app.pri)
HEADERS = \ HEADERS = \
FORMS = \ FORMS = \

View File

@ -3,11 +3,10 @@ DESTDIR = $$OUT_PWD/..
TARGET = klayout_lay TARGET = klayout_lay
include($$PWD/../klayout.pri) include($$PWD/../klayout.pri)
include($$PWD/../lib.pri)
DEFINES += MAKE_LAY_LIBRARY DEFINES += MAKE_LAY_LIBRARY
TEMPLATE = lib
HEADERS = \ HEADERS = \
layApplication.h \ layApplication.h \
layClipDialog.h \ layClipDialog.h \

View File

@ -3,11 +3,10 @@ DESTDIR = $$OUT_PWD/..
TARGET = klayout_laybasic TARGET = klayout_laybasic
include($$PWD/../klayout.pri) include($$PWD/../klayout.pri)
include($$PWD/../lib.pri)
DEFINES += MAKE_LAYBASIC_LIBRARY DEFINES += MAKE_LAYBASIC_LIBRARY
TEMPLATE = lib
FORMS = \ FORMS = \
AlignCellOptionsDialog.ui \ AlignCellOptionsDialog.ui \
BookmarkManagementForm.ui \ BookmarkManagementForm.ui \

10
src/lib.pri Normal file
View File

@ -0,0 +1,10 @@
TEMPLATE = lib
inst_target.path = $$PREFIX
win32 {
inst_target.files = $$DESTDIR/$${TARGET}.dll
} else {
inst_target.files = $$DESTDIR/lib$${TARGET}.so
}
INSTALLS = inst_target

View File

@ -3,11 +3,10 @@ DESTDIR = $$OUT_PWD/..
TARGET = klayout_lib TARGET = klayout_lib
include($$PWD/../klayout.pri) include($$PWD/../klayout.pri)
include($$PWD/../lib.pri)
DEFINES += MAKE_LIB_LIBRARY DEFINES += MAKE_LIB_LIBRARY
TEMPLATE = lib
HEADERS = \ HEADERS = \
libBasicArc.h \ libBasicArc.h \
libBasicCircle.h \ libBasicCircle.h \

View File

@ -1,15 +1,6 @@
DESTDIR_UT = $$OUT_PWD/../..
DESTDIR = $$OUT_PWD/..
TEMPLATE = lib TEMPLATE = lib
INCLUDEPATH += ../src ../../db ../../tl ../../gsi ../../laybasic ../../lay ../../ut
DEPENDPATH += ../src ../../db ../../tl ../../gsi ../../laybasic ../../lay ../../ut
LIBS += -L$$DESTDIR_UT -lklayout_db -lklayout_tl -lklayout_gsi -lklayout_laybasic -lklayout_lay -lklayout_ut
QMAKE_RPATHDIR += $$DESTDIR
# Only on Windows, DESTDIR_TARGET is usable. On this platform, a blank happens to appear between # Only on Windows, DESTDIR_TARGET is usable. On this platform, a blank happens to appear between
# $(DESTDIR) and $(TARGET) # $(DESTDIR) and $(TARGET)
win32 { win32 {

View File

@ -1,19 +0,0 @@
DESTDIR_UT = $$OUT_PWD/../../..
DESTDIR = $$OUT_PWD/..
TEMPLATE = lib
INCLUDEPATH += ../src ../../../db ../../../tl ../../../gsi ../../../laybasic ../../../lay ../../../ut
DEPENDPATH += ../src ../../../db ../../../tl ../../../gsi ../../../laybasic ../../../lay ../../../ut
LIBS += -L$$DESTDIR_UT -lklayout_db -lklayout_tl -lklayout_gsi -lklayout_laybasic -lklayout_lay -lklayout_ut
QMAKE_RPATHDIR += $$DESTDIR
# Only on Windows, DESTDIR_TARGET is usable. On this platform, a blank happens to appear between
# $(DESTDIR) and $(TARGET)
win32 {
QMAKE_POST_LINK += $(COPY) $(DESTDIR_TARGET) $$DESTDIR_UT/$${TARGET}.ut
} else {
QMAKE_POST_LINK += $(COPY) $(DESTDIR)$(TARGET) $$DESTDIR_UT/$${TARGET}.ut
}

View File

@ -3,11 +3,10 @@ DESTDIR = $$OUT_PWD/..
TARGET = klayout_pya TARGET = klayout_pya
include($$PWD/../klayout.pri) include($$PWD/../klayout.pri)
include($$PWD/../lib.pri)
DEFINES += MAKE_PYA_LIBRARY DEFINES += MAKE_PYA_LIBRARY
TEMPLATE = lib
SOURCES = \ SOURCES = \
pya.cc \ pya.cc \
pyaConvert.cc \ pyaConvert.cc \

View File

@ -3,11 +3,10 @@ DESTDIR = $$OUT_PWD/..
TARGET = klayout_pyastub TARGET = klayout_pyastub
include($$PWD/../klayout.pri) include($$PWD/../klayout.pri)
include($$PWD/../lib.pri)
DEFINES += MAKE_PYA_LIBRARY DEFINES += MAKE_PYA_LIBRARY
TEMPLATE = lib
SOURCES = pya.cc SOURCES = pya.cc
INCLUDEPATH += ../tl ../gsi INCLUDEPATH += ../tl ../gsi

View File

@ -3,11 +3,10 @@ DESTDIR = $$OUT_PWD/..
TARGET = klayout_rba TARGET = klayout_rba
include($$PWD/../klayout.pri) include($$PWD/../klayout.pri)
include($$PWD/../lib.pri)
DEFINES += MAKE_RBA_LIBRARY DEFINES += MAKE_RBA_LIBRARY
TEMPLATE = lib
SOURCES = rba.cc \ SOURCES = rba.cc \
rbaConvert.cc \ rbaConvert.cc \
rbaInspector.cc \ rbaInspector.cc \

View File

@ -3,11 +3,10 @@ DESTDIR = $$OUT_PWD/..
TARGET = klayout_rbastub TARGET = klayout_rbastub
include($$PWD/../klayout.pri) include($$PWD/../klayout.pri)
include($$PWD/../lib.pri)
DEFINES += MAKE_RBA_LIBRARY DEFINES += MAKE_RBA_LIBRARY
TEMPLATE = lib
HEADERS = rbaCommon.h HEADERS = rbaCommon.h
SOURCES = rba.cc SOURCES = rba.cc

View File

@ -3,11 +3,10 @@ DESTDIR = $$OUT_PWD/..
TARGET = klayout_rdb TARGET = klayout_rdb
include($$PWD/../klayout.pri) include($$PWD/../klayout.pri)
include($$PWD/../lib.pri)
DEFINES += MAKE_RDB_LIBRARY DEFINES += MAKE_RDB_LIBRARY
TEMPLATE = lib
FORMS = \ FORMS = \
RESOURCES = \ RESOURCES = \

View File

@ -3,13 +3,12 @@ DESTDIR = $$OUT_PWD/..
TARGET = klayout_tl TARGET = klayout_tl
include($$PWD/../klayout.pri) include($$PWD/../klayout.pri)
include($$PWD/../lib.pri)
DEFINES += MAKE_TL_LIBRARY DEFINES += MAKE_TL_LIBRARY
LIBS += -lz LIBS += -lz
TEMPLATE = lib
FORMS = \ FORMS = \
PasswordDialog.ui PasswordDialog.ui

View File

@ -43,23 +43,23 @@ TEST(1)
<< tl::arg ("-f|--flong=value", &f, ""); << tl::arg ("-f|--flong=value", &f, "");
{ {
char *argv[] = { "x", "y" }; const char *argv[] = { "x", "y" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (a, "y"); EXPECT_EQ (a, "y");
EXPECT_EQ (b, 0); EXPECT_EQ (b, 0);
{ {
char *argv[] = { "x", "z", "17" }; const char *argv[] = { "x", "z", "17" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (a, "z"); EXPECT_EQ (a, "z");
EXPECT_EQ (b, 17); EXPECT_EQ (b, 17);
b = 0; b = 0;
{ {
char *argv[] = { "x", "u", "-c" }; const char *argv[] = { "x", "u", "-c" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (a, "u"); EXPECT_EQ (a, "u");
EXPECT_EQ (b, 0); EXPECT_EQ (b, 0);
@ -68,24 +68,24 @@ TEST(1)
b = 0; b = 0;
c = true; c = true;
{ {
char *argv[] = { "x", "u", "-cc" }; const char *argv[] = { "x", "u", "-cc" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (a, "u"); EXPECT_EQ (a, "u");
EXPECT_EQ (b, 0); EXPECT_EQ (b, 0);
EXPECT_EQ (c, false); EXPECT_EQ (c, false);
{ {
char *argv[] = { "x", "u", "-c", "-cc" }; const char *argv[] = { "x", "u", "-c", "-cc" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (c, false); EXPECT_EQ (c, false);
b = 0; b = 0;
c = false; c = false;
{ {
char *argv[] = { "x", "u", "-c", "-p=21" }; const char *argv[] = { "x", "u", "-c", "-p=21" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (a, "u"); EXPECT_EQ (a, "u");
EXPECT_EQ (b, 0); EXPECT_EQ (b, 0);
@ -95,8 +95,8 @@ TEST(1)
b = 0; b = 0;
c = false; c = false;
{ {
char *argv[] = { "x", "u", "-p", "22", "-c" }; const char *argv[] = { "x", "u", "-p", "22", "-c" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (a, "u"); EXPECT_EQ (a, "u");
EXPECT_EQ (b, 0); EXPECT_EQ (b, 0);
@ -105,31 +105,31 @@ TEST(1)
e = false; e = false;
{ {
char *argv[] = { "x", "u", "--plong", "23" }; const char *argv[] = { "x", "u", "--plong", "23" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (a, "u"); EXPECT_EQ (a, "u");
EXPECT_EQ (d, 23); EXPECT_EQ (d, 23);
EXPECT_EQ (e, false); EXPECT_EQ (e, false);
{ {
char *argv[] = { "x", "u", "--plong=24", "--elong" }; const char *argv[] = { "x", "u", "--plong=24", "--elong" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (a, "u"); EXPECT_EQ (a, "u");
EXPECT_EQ (d, 24); EXPECT_EQ (d, 24);
EXPECT_EQ (e, true); EXPECT_EQ (e, true);
{ {
char *argv[] = { "x", "u", "-c", "-f=foo" }; const char *argv[] = { "x", "u", "-c", "-f=foo" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (a, "u"); EXPECT_EQ (a, "u");
EXPECT_EQ (f, "foo"); EXPECT_EQ (f, "foo");
{ {
char *argv[] = { "x", "u", "--flong", "bar" }; const char *argv[] = { "x", "u", "--flong", "bar" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (a, "u"); EXPECT_EQ (a, "u");
EXPECT_EQ (f, "bar"); EXPECT_EQ (f, "bar");
@ -174,23 +174,23 @@ TEST(2)
<< tl::arg ("-f|--flong=value", &v, &Values::set_f, ""); << tl::arg ("-f|--flong=value", &v, &Values::set_f, "");
{ {
char *argv[] = { "x", "y" }; const char *argv[] = { "x", "y" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (v.a, "y"); EXPECT_EQ (v.a, "y");
EXPECT_EQ (v.b, 0); EXPECT_EQ (v.b, 0);
{ {
char *argv[] = { "x", "z", "17" }; const char *argv[] = { "x", "z", "17" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (v.a, "z"); EXPECT_EQ (v.a, "z");
EXPECT_EQ (v.b, 17); EXPECT_EQ (v.b, 17);
v.b = 0; v.b = 0;
{ {
char *argv[] = { "x", "u", "-c" }; const char *argv[] = { "x", "u", "-c" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (v.a, "u"); EXPECT_EQ (v.a, "u");
EXPECT_EQ (v.b, 0); EXPECT_EQ (v.b, 0);
@ -199,24 +199,24 @@ TEST(2)
v.b = 0; v.b = 0;
v.c = true; v.c = true;
{ {
char *argv[] = { "x", "u", "-cc" }; const char *argv[] = { "x", "u", "-cc" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (v.a, "u"); EXPECT_EQ (v.a, "u");
EXPECT_EQ (v.b, 0); EXPECT_EQ (v.b, 0);
EXPECT_EQ (v.c, false); EXPECT_EQ (v.c, false);
{ {
char *argv[] = { "x", "u", "-c", "-cc" }; const char *argv[] = { "x", "u", "-c", "-cc" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (v.c, false); EXPECT_EQ (v.c, false);
v.b = 0; v.b = 0;
v.c = false; v.c = false;
{ {
char *argv[] = { "x", "u", "-c", "-p=21" }; const char *argv[] = { "x", "u", "-c", "-p=21" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (v.a, "u"); EXPECT_EQ (v.a, "u");
EXPECT_EQ (v.b, 0); EXPECT_EQ (v.b, 0);
@ -226,8 +226,8 @@ TEST(2)
v.b = 0; v.b = 0;
v.c = false; v.c = false;
{ {
char *argv[] = { "x", "u", "-p", "22", "-c" }; const char *argv[] = { "x", "u", "-p", "22", "-c" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (v.a, "u"); EXPECT_EQ (v.a, "u");
EXPECT_EQ (v.b, 0); EXPECT_EQ (v.b, 0);
@ -236,31 +236,31 @@ TEST(2)
v.e = false; v.e = false;
{ {
char *argv[] = { "x", "u", "--plong", "23" }; const char *argv[] = { "x", "u", "--plong", "23" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (v.a, "u"); EXPECT_EQ (v.a, "u");
EXPECT_EQ (v.d, 23); EXPECT_EQ (v.d, 23);
EXPECT_EQ (v.e, false); EXPECT_EQ (v.e, false);
{ {
char *argv[] = { "x", "u", "--plong=24", "--elong" }; const char *argv[] = { "x", "u", "--plong=24", "--elong" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (v.a, "u"); EXPECT_EQ (v.a, "u");
EXPECT_EQ (v.d, 24); EXPECT_EQ (v.d, 24);
EXPECT_EQ (v.e, true); EXPECT_EQ (v.e, true);
{ {
char *argv[] = { "x", "u", "-c", "-f=foo" }; const char *argv[] = { "x", "u", "-c", "-f=foo" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (v.a, "u"); EXPECT_EQ (v.a, "u");
EXPECT_EQ (v.f, "foo"); EXPECT_EQ (v.f, "foo");
{ {
char *argv[] = { "x", "u", "--flong", "bar" }; const char *argv[] = { "x", "u", "--flong", "bar" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (v.a, "u"); EXPECT_EQ (v.a, "u");
EXPECT_EQ (v.f, "bar"); EXPECT_EQ (v.f, "bar");
@ -277,8 +277,8 @@ TEST(3)
<< tl::arg ("-b", &b, ""); << tl::arg ("-b", &b, "");
{ {
char *argv[] = { "x", "r,u,v" }; const char *argv[] = { "x", "r,u,v" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (int (a.size ()), 3); EXPECT_EQ (int (a.size ()), 3);
EXPECT_EQ (a[0], "r"); EXPECT_EQ (a[0], "r");
@ -288,8 +288,8 @@ TEST(3)
a.clear (); a.clear ();
{ {
char *argv[] = { "x", "\"r,u\",v" }; const char *argv[] = { "x", "\"r,u\",v" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (int (a.size ()), 2); EXPECT_EQ (int (a.size ()), 2);
EXPECT_EQ (a[0], "r,u"); EXPECT_EQ (a[0], "r,u");
@ -298,8 +298,8 @@ TEST(3)
a.clear (); a.clear ();
{ {
char *argv[] = { "x", "'\"'", "-b=1,5,-13" }; const char *argv[] = { "x", "'\"'", "-b=1,5,-13" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (int (a.size ()), 1); EXPECT_EQ (int (a.size ()), 1);
EXPECT_EQ (a[0], "\""); EXPECT_EQ (a[0], "\"");
@ -311,8 +311,8 @@ TEST(3)
a.clear (); a.clear ();
b.clear (); b.clear ();
{ {
char *argv[] = { "x", "", "-b", "-13,21" }; const char *argv[] = { "x", "", "-b", "-13,21" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (int (a.size ()), 0); EXPECT_EQ (int (a.size ()), 0);
EXPECT_EQ (int (b.size ()), 2); EXPECT_EQ (int (b.size ()), 2);
@ -331,8 +331,8 @@ TEST(4)
<< tl::arg ("*-b|--blong", &b, ""); << tl::arg ("*-b|--blong", &b, "");
{ {
char *argv[] = { "x", "-a", "r,u,v" }; const char *argv[] = { "x", "-a", "r,u,v" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (int (a.size ()), 1); EXPECT_EQ (int (a.size ()), 1);
EXPECT_EQ (a[0], "r,u,v"); EXPECT_EQ (a[0], "r,u,v");
@ -341,8 +341,8 @@ TEST(4)
a.clear (); a.clear ();
b.clear (); b.clear ();
{ {
char *argv[] = { "x", "-b", "1", "-a=r", "-a", "u", "--along=v", "--blong=2" }; const char *argv[] = { "x", "-b", "1", "-a=r", "-a", "u", "--along=v", "--blong=2" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (int (a.size ()), 3); EXPECT_EQ (int (a.size ()), 3);
EXPECT_EQ (int (b.size ()), 2); EXPECT_EQ (int (b.size ()), 2);
@ -366,8 +366,8 @@ TEST(5)
<< tl::arg ("?*c", &c, ""); << tl::arg ("?*c", &c, "");
{ {
char *argv[] = { "x", "y", "r,u,v" }; const char *argv[] = { "x", "y", "r,u,v" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (int (b.size ()), 3); EXPECT_EQ (int (b.size ()), 3);
EXPECT_EQ (int (c.size ()), 0); EXPECT_EQ (int (c.size ()), 0);
@ -381,8 +381,8 @@ TEST(5)
c.clear (); c.clear ();
{ {
char *argv[] = { "x", "y", "r,u,v", "a,b", "c", "d" }; const char *argv[] = { "x", "y", "r,u,v", "a,b", "c", "d" };
cmd.parse (sizeof (argv) / sizeof (argv[0]), argv); cmd.parse (sizeof (argv) / sizeof (argv[0]), (char **) argv);
} }
EXPECT_EQ (int (b.size ()), 3); EXPECT_EQ (int (b.size ()), 3);
EXPECT_EQ (int (c.size ()), 3); EXPECT_EQ (int (c.size ()), 3);