RetroShare/tests/unittests/unittests.pro
sehraf 6e38554bcd rename define UBUNTU to HAS_GNOME_KEYRING
The name UBUNTU is misleading since it is only used to select the keyring backend (which is gnome keyring on linux).
This also allows to support other keyrings on linux in the future (e.g. KDEs keyring)
2016-06-02 14:57:46 +02:00

384 lines
12 KiB
Prolog

QT += network xml script
CONFIG += bitdht
CONFIG += gxs debug
gxs {
DEFINES += RS_ENABLE_GXS
}
TEMPLATE = app
TARGET = unittests
OPENPGPSDK_DIR = ../../openpgpsdk/src
INCLUDEPATH *= $${OPENPGPSDK_DIR} ../openpgpsdk
# it is impossible to use precompield googletest lib
# because googletest must be compiled with same compiler flags as the tests!
!exists(../googletest/googletest/src/gtest-all.cc){
message(trying to git clone googletest...)
!system(git clone https://github.com/google/googletest.git ../googletest){
error(Could not git clone googletest files. You can manually download them to /tests/googletest)
}
}
INCLUDEPATH += \
../googletest/googletest/include \
../googletest/googletest
SOURCES += ../googletest/googletest/src/gtest-all.cc
################################# Linux ##########################################
# Put lib dir in QMAKE_LFLAGS so it appears before -L/usr/lib
linux-* {
#CONFIG += version_detail_bash_script
QMAKE_CXXFLAGS *= -D_FILE_OFFSET_BITS=64
PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a
PRE_TARGETDEPS *= ../../openpgpsdk/src/lib/libops.a
LIBS += ../../libretroshare/src/lib/libretroshare.a
LIBS += ../librssimulator/lib/librssimulator.a
LIBS += ../../openpgpsdk/src/lib/libops.a -lbz2
LIBS += -lssl -lupnp -lixml -lXss -lgnome-keyring
LIBS *= -lcrypto -ldl -lX11 -lz -lpthread
#LIBS += ../../supportlibs/pegmarkdown/lib/libpegmarkdown.a
contains(CONFIG, NO_SQLCIPHER) {
DEFINES *= NO_SQLCIPHER
PKGCONFIG *= sqlite3
} else {
# We need a explicit path here, to force using the home version of sqlite3 that really encrypts the database.
SQLCIPHER_OK = $$system(pkg-config --exists sqlcipher && echo yes)
isEmpty(SQLCIPHER_OK) {
# We need a explicit path here, to force using the home version of sqlite3 that really encrypts the database.
! exists(../../../lib/sqlcipher/.libs/libsqlcipher.a) {
message(../../../lib/sqlcipher/.libs/libsqlcipher.a does not exist)
error(Please fix this and try again. Will stop now.)
}
LIBS += ../../../lib/sqlcipher/.libs/libsqlcipher.a
INCLUDEPATH += ../../../lib/sqlcipher/src/
INCLUDEPATH += ../../../lib/sqlcipher/tsrc/
} else {
LIBS += -lsqlcipher
}
}
LIBS *= -lglib-2.0
LIBS *= -rdynamic
DEFINES *= HAVE_XSS # for idle time, libx screensaver extensions
DEFINES *= HAS_GNOME_KEYRING
}
linux-g++ {
OBJECTS_DIR = temp/linux-g++/obj
}
linux-g++-64 {
OBJECTS_DIR = temp/linux-g++-64/obj
}
#################### Cross compilation for windows under Linux ###################
win32-x-g++ {
OBJECTS_DIR = temp/win32-x-g++/obj
LIBS += ../../libretroshare/src/lib.win32xgcc/libretroshare.a
LIBS += ../../../../lib/win32-x-g++-v0.5/libssl.a
LIBS += ../../../../lib/win32-x-g++-v0.5/libcrypto.a
LIBS += ../../../../lib/win32-x-g++-v0.5/libgpgme.dll.a
LIBS += ../../../../lib/win32-x-g++-v0.5/libminiupnpc.a
LIBS += ../../../../lib/win32-x-g++-v0.5/libz.a
LIBS += -L${HOME}/.wine/drive_c/pthreads/lib -lpthreadGCE2
LIBS += -lQtUiTools
LIBS += -lws2_32 -luuid -lole32 -liphlpapi -lcrypt32 -gdi32
LIBS += -lole32 -lwinmm
DEFINES *= WINDOWS_SYS WIN32 WIN32_CROSS_UBUNTU
INCLUDEPATH += ../../../../gpgme-1.1.8/src/
INCLUDEPATH += ../../../../libgpg-error-1.7/src/
RC_FILE = gui/images/retroshare_win.rc
}
#################################### Windows #####################################
win32 {
# Switch on extra warnings
QMAKE_CFLAGS += -Wextra
QMAKE_CXXFLAGS += -Wextra
# Switch off optimization for release version
QMAKE_CXXFLAGS_RELEASE -= -O2
QMAKE_CXXFLAGS_RELEASE += -O0
QMAKE_CFLAGS_RELEASE -= -O2
QMAKE_CFLAGS_RELEASE += -O0
# Switch on optimization for debug version
#QMAKE_CXXFLAGS_DEBUG += -O2
#QMAKE_CFLAGS_DEBUG += -O2
OBJECTS_DIR = temp/obj
#LIBS += -L"D/Qt/2009.03/qt/plugins/imageformats"
#QTPLUGIN += qjpeg
PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a
PRE_TARGETDEPS *= ../librssimulator/lib/librssimulator.a
PRE_TARGETDEPS *= ../../openpgpsdk/src/lib/libops.a
LIBS += ../../libretroshare/src/lib/libretroshare.a
LIBS += ../../openpgpsdk/src/lib/libops.a -lbz2
LIBS += -L"$$PWD/../../../lib"
gxs {
LIBS += ../../supportlibs/pegmarkdown/lib/libpegmarkdown.a
LIBS += -lsqlcipher
}
LIBS += -lssl -lcrypto -lpthread -lminiupnpc -lz
# added after bitdht
# LIBS += -lws2_32
LIBS += -luuid -lole32 -liphlpapi -lcrypt32 -lgdi32
LIBS += -lole32 -lwinmm
RC_FILE = gui/images/retroshare_win.rc
# export symbols for the plugins
LIBS += -Wl,--export-all-symbols,--out-implib,lib/libretroshare-gui.a
# create lib directory
QMAKE_PRE_LINK = $(CHK_DIR_EXISTS) lib $(MKDIR) lib
DEFINES *= WINDOWS_SYS WIN32_LEAN_AND_MEAN _USE_32BIT_TIME_T
INCLUDEPATH += .
}
##################################### MacOS ######################################
macx {
# ENABLE THIS OPTION FOR Univeral Binary BUILD.
CONFIG += ppc x86
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.4
CONFIG += version_detail_bash_script
LIBS += ../../libretroshare/src/lib/libretroshare.a
LIBS += ../librssimulator/lib/librssimulator.a
LIBS += ../../openpgpsdk/src/lib/libops.a -lbz2
LIBS += -lssl -lcrypto -lz
#LIBS += -lssl -lcrypto -lz -lgpgme -lgpg-error -lassuan
LIBS += ../../../miniupnpc-1.0/libminiupnpc.a
LIBS += -framework CoreFoundation
LIBS += -framework Security
gxs {
LIBS += ../../supportlibs/pegmarkdown/lib/libpegmarkdown.a
LIBS += ../../../lib/libsqlcipher.a
#LIBS += -lsqlite3
}
INCLUDEPATH += .
#DEFINES* = MAC_IDLE # for idle feature
CONFIG -= uitools
}
##################################### FreeBSD ######################################
freebsd-* {
INCLUDEPATH *= /usr/local/include/gpgme
LIBS *= ../../libretroshare/src/lib/libretroshare.a
LIBS *= ../librssimulator/lib/librssimulator.a
LIBS *= -lssl
LIBS *= -lgpgme
LIBS *= -lupnp
LIBS *= -lgnome-keyring
PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a
gxs {
LIBS += ../../supportlibs/pegmarkdown/lib/libpegmarkdown.a
LIBS += -lsqlite3
}
}
##################################### OpenBSD ######################################
openbsd-* {
INCLUDEPATH *= /usr/local/include
PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a
PRE_TARGETDEPS *= ../../openpgpsdk/src/lib/libops.a
LIBS *= ../../libretroshare/src/lib/libretroshare.a
LIBS *= ../librssimulator/lib/librssimulator.a
LIBS *= ../../openpgpsdk/src/lib/libops.a -lbz2
LIBS *= -lssl -lcrypto
LIBS *= -lgpgme
LIBS *= -lupnp
LIBS *= -lgnome-keyring
PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a
gxs {
LIBS += ../../supportlibs/pegmarkdown/lib/libpegmarkdown.a
LIBS += -lsqlite3
}
LIBS *= -rdynamic
}
############################## Common stuff ######################################
# On Linux systems that alredy have libssl and libcrypto it is advisable
# to rename the patched version of SSL to something like libsslxpgp.a and libcryptoxpg.a
# ###########################################
bitdht {
LIBS += ../../libbitdht/src/lib/libbitdht.a
PRE_TARGETDEPS *= ../../libbitdht/src/lib/libbitdht.a
}
win32 {
# must be added after bitdht
LIBS += -lws2_32
}
DEPENDPATH += . \
INCLUDEPATH += ../../libretroshare/src/
INCLUDEPATH += ../librssimulator/
SOURCES += unittests.cc \
################################ Serialiser ################################
HEADERS += libretroshare/serialiser/support.h \
libretroshare/serialiser/rstlvutil.h \
SOURCES += libretroshare/serialiser/rsturtleitem_test.cc \
libretroshare/serialiser/rsbaseitem_test.cc \
libretroshare/serialiser/rsgxsupdateitem_test.cc \
libretroshare/serialiser/rsmsgitem_test.cc \
libretroshare/serialiser/rsstatusitem_test.cc \
libretroshare/serialiser/rsnxsitems_test.cc \
libretroshare/serialiser/rsgxsiditem_test.cc \
# libretroshare/serialiser/rsphotoitem_test.cc \
libretroshare/serialiser/tlvbase_test2.cc \
libretroshare/serialiser/tlvrandom_test.cc \
libretroshare/serialiser/tlvbase_test.cc \
libretroshare/serialiser/tlvstack_test.cc \
libretroshare/serialiser/tlvitems_test.cc \
# libretroshare/serialiser/rsgrouteritem_test.cc \
libretroshare/serialiser/tlvtypes_test.cc \
libretroshare/serialiser/tlvkey_test.cc \
libretroshare/serialiser/support.cc \
libretroshare/serialiser/rstlvutil.cc \
# Still to convert these.
# libretroshare/serialiser/rsconfigitem_test.cc \
# libretroshare/serialiser/rsgrouteritem_test.cc \
################################## GXS #####################################
HEADERS += libretroshare/gxs/common/data_support.h \
SOURCES += libretroshare/gxs/common/data_support.cc \
HEADERS += libretroshare/gxs/nxs_test/nxsdummyservices.h \
libretroshare/gxs/nxs_test/nxsgrptestscenario.h \
libretroshare/gxs/nxs_test/nxsmsgtestscenario.h \
libretroshare/gxs/nxs_test/nxsgrpsync_test.h \
libretroshare/gxs/nxs_test/nxsmsgsync_test.h \
libretroshare/gxs/nxs_test/nxstesthub.h \
libretroshare/gxs/nxs_test/nxstestscenario.h \
libretroshare/gxs/nxs_test/nxsgrpsyncdelayed.h
SOURCES += libretroshare/gxs/nxs_test/nxsdummyservices.cc \
libretroshare/gxs/nxs_test/nxsgrptestscenario.cc \
libretroshare/gxs/nxs_test/nxsmsgtestscenario.cc \
libretroshare/gxs/nxs_test/nxstesthub.cc \
libretroshare/gxs/nxs_test/rsgxsnetservice_test.cc \
libretroshare/gxs/nxs_test/nxsmsgsync_test.cc \
libretroshare/gxs/nxs_test/nxsgrpsync_test.cc \
libretroshare/gxs/nxs_test/nxsgrpsyncdelayed.cc
HEADERS += libretroshare/gxs/gen_exchange/genexchangetester.h \
libretroshare/gxs/gen_exchange/gxspublishmsgtest.h \
libretroshare/gxs/gen_exchange/genexchangetestservice.h \
libretroshare/gxs/gen_exchange/gxspublishgrouptest.h \
libretroshare/gxs/gen_exchange/rsdummyservices.h \
libretroshare/gxs/gen_exchange/gxsteststats.cpp
# libretroshare/gxs/gen_exchange/gxsmsgrelatedtest.h \
SOURCES += libretroshare/gxs/gen_exchange/gxspublishgrouptest.cc \
libretroshare/gxs/gen_exchange/gxsteststats.cpp \
libretroshare/gxs/gen_exchange/gxspublishmsgtest.cc \
libretroshare/gxs/gen_exchange/rsdummyservices.cc \
libretroshare/gxs/gen_exchange/rsgenexchange_test.cc \
libretroshare/gxs/gen_exchange/genexchangetester.cc \
libretroshare/gxs/gen_exchange/genexchangetestservice.cc \
SOURCES += libretroshare/gxs/security/gxssecurity_test.cc
# libretroshare/gxs/gen_exchange/gxsmsgrelatedtest.cc \
HEADERS += libretroshare/gxs/data_service/rsdataservice_test.h \
SOURCES += libretroshare/gxs/data_service/rsdataservice_test.cc \
libretroshare/gxs/data_service/rsgxsdata_test.cc \
################################ dbase #####################################
SOURCES += libretroshare/dbase/fisavetest.cc \
libretroshare/dbase/fitest2.cc \
libretroshare/dbase/searchtest.cc \
# libretroshare/dbase/ficachetest.cc \
# libretroshare/dbase/fimontest.cc \
############################### services ###################################
SOURCES += libretroshare/services/status/status_test.cc \
############################### gxs ########################################
HEADERS += libretroshare/services/gxs/rsgxstestitems.h \
libretroshare/services/gxs/gxstestservice.h \
libretroshare/services/gxs/GxsIsolatedServiceTester.h \
libretroshare/services/gxs/GxsPeerNode.h \
libretroshare/services/gxs/GxsPairServiceTester.h \
libretroshare/services/gxs/FakePgpAuxUtils.h \
# libretroshare/services/gxs/RsGxsNetServiceTester.h \
SOURCES += libretroshare/services/gxs/rsgxstestitems.cc \
libretroshare/services/gxs/gxstestservice.cc \
libretroshare/services/gxs/GxsIsolatedServiceTester.cc \
libretroshare/services/gxs/GxsPeerNode.cc \
libretroshare/services/gxs/GxsPairServiceTester.cc \
libretroshare/services/gxs/FakePgpAuxUtils.cc \
libretroshare/services/gxs/nxsbasic_test.cc \
libretroshare/services/gxs/nxspair_tests.cc \
libretroshare/services/gxs/gxscircle_tests.cc \
# libretroshare/services/gxs/gxscircle_mintest.cc \
# libretroshare/services/gxs/RsGxsNetServiceTester.cc \