2019-12-18 11:57:20 -05:00
# SPDX - FileCopyrightText : ( C ) 2004 - 2019 Retroshare Team < contact @ retroshare . cc >
# SPDX - License - Identifier : CC0 - 1.0
2018-05-21 14:50:38 -04:00
! include ( "../../retroshare.pri" ) : error ( "Could not include file ../../retroshare.pri" )
2015-10-12 14:45:11 -04:00
TEMPLATE = lib
2020-11-09 10:30:28 -05:00
libretroshare_shared {
CONFIG += shared
} else {
CONFIG += staticlib
}
2015-10-12 14:45:11 -04:00
CONFIG -= qt
TARGET = retroshare
TARGET_PRL = libretroshare
DESTDIR = lib
2018-04-15 07:41:52 -04:00
! include ( "use_libretroshare.pri" ) : error ( "Including" )
2017-12-31 11:27:21 -05:00
2015-10-12 14:45:11 -04:00
# treat warnings as error for better removing
# QMAKE_CFLAGS += - Werror
# QMAKE_CXXFLAGS += - Werror
2020-02-10 06:24:47 -05:00
## Uncomment to enable Unfinished Services .
# CONFIG += wikipoos
# CONFIG += gxsthewire
# CONFIG += gxsphotoshare
2015-10-12 14:45:11 -04:00
debug {
# DEFINES *= DEBUG
# DEFINES *= OPENDHT_DEBUG DHT_DEBUG CONN_DEBUG DEBUG_UDP_SORTER P3DISC_DEBUG DEBUG_UDP_LAYER FT_DEBUG EXTADDRSEARCH_DEBUG
# DEFINES *= CONTROL_DEBUG FT_DEBUG DEBUG_FTCHUNK P3TURTLE_DEBUG
# DEFINES *= P3TURTLE_DEBUG
# DEFINES *= NET_DEBUG
# DEFINES *= DISTRIB_DEBUG
# DEFINES *= P3TURTLE_DEBUG FT_DEBUG DEBUG_FTCHUNK MPLEX_DEBUG
# DEFINES *= STATUS_DEBUG SERV_DEBUG RSSERIAL_DEBUG # CONN_DEBUG
QMAKE_CXXFLAGS -= - O2 - fomit - frame - pointer
QMAKE_CXXFLAGS *= - g - fno - omit - frame - pointer
}
2016-07-20 15:28:55 -04:00
CONFIG += file_lists
file_lists {
HEADERS *= file_sharing / p3filelists . h \
2016-08-20 10:23:11 -04:00
file_sharing / hash_cache . h \
file_sharing / filelist_io . h \
file_sharing / directory_storage . h \
file_sharing / directory_updater . h \
2016-09-01 15:04:48 -04:00
file_sharing / rsfilelistitems . h \
2016-09-03 07:29:23 -04:00
file_sharing / dir_hierarchy . h \
2016-09-01 15:04:48 -04:00
file_sharing / file_sharing_defaults . h
2016-07-20 15:28:55 -04:00
SOURCES *= file_sharing / p3filelists . cc \
2016-08-20 10:23:11 -04:00
file_sharing / hash_cache . cc \
file_sharing / filelist_io . cc \
file_sharing / directory_storage . cc \
file_sharing / directory_updater . cc \
2016-09-03 07:29:23 -04:00
file_sharing / dir_hierarchy . cc \
2017-10-17 18:04:04 -04:00
file_sharing / file_tree . cc \
2016-08-22 01:49:45 -04:00
file_sharing / rsfilelistitems . cc
2016-07-20 15:28:55 -04:00
}
2016-09-13 06:05:22 -04:00
2015-10-12 14:45:11 -04:00
dsdv {
DEFINES *= SERVICES_DSDV
2017-04-26 08:31:15 -04:00
HEADERS += unused / p3dsdv . h \
unused / rstlvdsdv . h \
unused / rsdsdvitems . h \
unused / rsdsdv . h
2015-10-12 14:45:11 -04:00
2017-04-26 08:31:15 -04:00
SOURCES *= unused / rstlvdsdv . cc \
unused / rsdsdvitems . cc \
unused / p3dsdv . cc
2015-10-12 14:45:11 -04:00
}
bitdht {
HEADERS += dht / p3bitdht . h \
2016-06-21 07:55:23 -04:00
dht / connectstatebox . h
2015-10-12 14:45:11 -04:00
SOURCES += dht / p3bitdht . cc \
dht / p3bitdht_interface . cc \
dht / p3bitdht_peers . cc \
dht / p3bitdht_peernet . cc \
dht / p3bitdht_relay . cc \
dht / connectstatebox . cc
HEADERS += tcponudp / udppeer . h \
tcponudp / bio_tou . h \
tcponudp / tcppacket . h \
tcponudp / tcpstream . h \
tcponudp / tou . h \
tcponudp / udprelay . h \
2018-11-10 11:40:34 -05:00
tcponudp / rsudpstack . h \
2017-12-31 11:27:21 -05:00
pqi / pqissludp . h \
2015-10-12 14:45:11 -04:00
SOURCES += tcponudp / udppeer . cc \
tcponudp / tcppacket . cc \
tcponudp / tcpstream . cc \
tcponudp / tou . cc \
2019-05-17 08:58:30 -04:00
tcponudp / bss_tou . cc \
2015-10-12 14:45:11 -04:00
tcponudp / udprelay . cc \
2017-12-31 11:27:21 -05:00
pqi / pqissludp . cc \
2015-10-12 14:45:11 -04:00
2016-06-21 07:55:23 -04:00
useDhtStunner {
HEADERS += dht / stunaddrassist . h \
tcponudp / udpstunner . h
SOURCES += tcponudp / udpstunner . cc
DEFINES += RS_USE_DHT_STUNNER
}
2015-10-12 14:45:11 -04:00
DEFINES *= RS_USE_BITDHT
BITDHT_DIR = . . /../ libbitdht / src
DEPENDPATH += . $ $ { BITDHT_DIR }
INCLUDEPATH += . $ $ { BITDHT_DIR }
PRE_TARGETDEPS *= $ $ { BITDHT_DIR } / lib / libbitdht . a
LIBS *= $ $ { BITDHT_DIR } / lib / libbitdht . a
}
PUBLIC_HEADERS = retroshare / rsdisc . h \
2019-05-02 10:23:46 -04:00
retroshare / rsgossipdiscovery \
2019-04-14 18:12:29 -04:00
retroshare / rsevents . h \
2015-10-12 14:45:11 -04:00
retroshare / rsexpr . h \
retroshare / rsfiles . h \
retroshare / rshistory . h \
retroshare / rsids . h \
retroshare / rsiface . h \
retroshare / rsinit . h \
retroshare / rsplugin . h \
retroshare / rsloginhandler . h \
retroshare / rsmsgs . h \
retroshare / rsnotify . h \
retroshare / rspeers . h \
retroshare / rsrank . h \
retroshare / rsstatus . h \
retroshare / rsturtle . h \
retroshare / rsbanlist . h \
retroshare / rstypes . h \
retroshare / rsdht . h \
retroshare / rsrtt . h \
retroshare / rsconfig . h \
retroshare / rsversion . h \
retroshare / rsservicecontrol . h \
2018-07-15 05:14:58 -04:00
retroshare / rsgxsdistsync . h
2015-10-12 14:45:11 -04:00
2019-11-10 11:38:16 -05:00
rs_webui {
2019-11-27 17:32:38 -05:00
PUBLIC_HEADERS += retroshare / rswebui . h
2019-11-29 13:46:46 -05:00
SOURCES += jsonapi / p3webui . cc
HEADERS += jsonapi / p3webui . h
2019-11-10 11:38:16 -05:00
}
2015-10-12 14:45:11 -04:00
HEADERS += plugins / pluginmanager . h \
plugins / dlfcn_win32 . h \
2020-10-25 07:50:55 -04:00
rsitems / rspluginitems . h \
2020-05-08 10:10:17 -04:00
util / i2pcommon . h \
2015-10-12 14:45:11 -04:00
util / rsinitedptr . h
HEADERS += $ $ PUBLIC_HEADERS
################################# Linux ##########################################
linux -* {
2016-12-03 14:04:25 -05:00
CONFIG += link_pkgconfig
2015-10-12 14:45:11 -04:00
QMAKE_CXXFLAGS *= - Wall - D_FILE_OFFSET_BITS = 64
2016-05-27 12:07:28 -04:00
QMAKE_CC = $ $ { QMAKE_CXX }
2015-10-12 14:45:11 -04:00
2016-08-02 18:48:19 -04:00
no_sqlcipher {
2015-10-12 14:45:11 -04:00
PKGCONFIG *= sqlite3
} else {
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 ) {
LIBS += . . /../../ lib / sqlcipher /. libs / libsqlcipher . a
DEPENDPATH += . . /../../ lib /
INCLUDEPATH += . . /../../ lib /
} else {
2016-08-02 18:48:19 -04:00
error ( "libsqlcipher is not installed and libsqlcipher.a not found. SQLCIPHER is necessary for encrypted database, to build with unencrypted database, run: qmake CONFIG+=no_sqlcipher" )
2015-10-12 14:45:11 -04:00
}
} else {
# Workaround for broken sqlcipher packages , e . g . Ubuntu 14.04
# https : // bugs . launchpad . net / ubuntu /+ source / sqlcipher /+ bug / 1493928
# PKGCONFIG *= sqlcipher
LIBS *= - lsqlcipher
}
}
2019-04-24 20:39:42 -04:00
contains ( RS_UPNP_LIB , threadutil ) { # ensure we don ' t break libpnp - 1.8 . x
# Check if the systems libupnp - 1.6 . x has been Debian - patched
! system ( grep - E 'char[[:space:]]+PublisherUrl' / usr / include / upnp / upnp . h >/ dev / null 2 >& 1 ) {
# Patched libupnp or new unreleased version
DEFINES *= PATCHED_LIBUPNP
}
}
2015-10-12 14:45:11 -04:00
2019-02-10 13:43:28 -05:00
PKGCONFIG *= libssl
equals ( RS_UPNP_LIB , "upnp ixml threadutil" ) : PKGCONFIG *= libupnp
PKGCONFIG *= libcrypto zlib
2018-04-15 07:41:52 -04:00
no_sqlcipher : PKGCONFIG *= sqlite3
LIBS *= - ldl
2015-10-12 14:45:11 -04:00
DEFINES *= PLUGIN_DIR =\ " \\\ " $ $ { PLUGIN_DIR } \\\ " \ "
DEFINES *= DATA_DIR =\ " \\\ " $ $ { DATA_DIR } \\\ " \ "
}
linux - g ++ {
OBJECTS_DIR = temp / linux - g ++/ obj
}
linux - g ++- 64 {
OBJECTS_DIR = temp / linux - g ++- 64 / obj
}
version_detail_bash_script {
2018-09-15 12:21:02 -04:00
warning ( "Version detail script is deprecated." )
warning ( "Remove references to version_detail_bash_script from all of your build scripts!" )
2015-10-12 14:45:11 -04:00
}
#################### Cross compilation for windows under Linux ####################
win32 - x - g ++ {
OBJECTS_DIR = temp / win32xgcc / obj
DEFINES *= WINDOWS_SYS WIN32 WIN_CROSS_UBUNTU
QMAKE_CXXFLAGS *= - Wmissing - include - dirs
QMAKE_CC = i586 - mingw32msvc - g ++
QMAKE_LIB = i586 - mingw32msvc - ar
QMAKE_AR = i586 - mingw32msvc - ar
DEFINES *= STATICLIB WIN32
SSL_DIR =../../../../ openssl
UPNPC_DIR = . . /../../../ miniupnpc - 1.3
GPG_ERROR_DIR = . . /../../../ libgpg - error - 1.7
GPGME_DIR = . . /../../../ gpgme - 1.1 .8
INCLUDEPATH *= / usr / i586 - mingw32msvc / include $ { HOME } /. wine / drive_c / pthreads / include /
}
################################# Windows ##########################################
2020-05-29 20:16:59 -04:00
win32 - g ++ | win32 - clang - g ++ {
2016-05-27 12:07:28 -04:00
QMAKE_CC = $ $ { QMAKE_CXX }
2015-10-12 14:45:11 -04:00
OBJECTS_DIR = temp / obj
MOC_DIR = temp / moc
2020-11-09 10:30:28 -05:00
! libretroshare_shared : DEFINES *= STATICLIB
2015-10-12 14:45:11 -04:00
# 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
DEFINES += USE_CMD_ARGS
2018-04-15 07:41:52 -04:00
wLibs = ws2_32 gdi32 uuid iphlpapi crypt32 ole32 winmm
LIBS += $ $ linkDynamicLibs ( wLibs )
2015-10-12 14:45:11 -04:00
}
################################# MacOSX ##########################################
mac {
2016-05-27 12:07:28 -04:00
QMAKE_CC = $ $ { QMAKE_CXX }
2015-10-12 14:45:11 -04:00
OBJECTS_DIR = temp / obj
MOC_DIR = temp / moc
# Beautiful Hack to fix 64 bit file access .
2016-07-16 17:10:00 -04:00
QMAKE_CXXFLAGS *= - Dfseeko64 = fseeko - Dftello64 = ftello - Dfopen64 = fopen - Dvstatfs64 = vstatfs
2015-10-12 14:45:11 -04:00
2015-12-21 11:25:02 -05:00
for ( lib , LIB_DIR ) : LIBS += - L "$$lib"
for ( bin , BIN_DIR ) : LIBS += - L "$$bin"
2015-10-12 14:45:11 -04:00
2015-12-21 11:25:02 -05:00
DEPENDPATH += . $ $ INC_DIR
INCLUDEPATH += . $ $ INC_DIR
2016-07-16 17:10:00 -04:00
INCLUDEPATH += . . /../../.
2015-10-12 14:45:11 -04:00
# We need a explicit path here , to force using the home version of sqlite3 that really encrypts the database .
2015-11-20 11:10:59 -05:00
LIBS += / usr / local / lib / libsqlcipher . a
2015-10-12 14:45:11 -04:00
# LIBS += - lsqlite3
2017-08-12 05:49:33 -04:00
DEFINES *= PLUGIN_DIR =\ " \\\ " $ $ { PLUGIN_DIR } \\\ " \ "
DEFINES *= DATA_DIR =\ " \\\ " $ $ { DATA_DIR } \\\ " \ "
2015-10-12 14:45:11 -04:00
}
################################# FreeBSD ##########################################
freebsd -* {
INCLUDEPATH *= / usr / local / include / gpgme
INCLUDEPATH *= / usr / local / include / glib - 2.0
QMAKE_CXXFLAGS *= - Dfseeko64 = fseeko - Dftello64 = ftello - Dstat64 = stat - Dstatvfs64 = statvfs - Dfopen64 = fopen
}
################################# OpenBSD ##########################################
openbsd -* {
INCLUDEPATH *= / usr / local / include
INCLUDEPATH += $ $ system ( pkg - config -- cflags glib - 2.0 | sed - e "s/-I//g" )
QMAKE_CXXFLAGS *= - Dfseeko64 = fseeko - Dftello64 = ftello - Dstat64 = stat - Dstatvfs64 = statvfs - Dfopen64 = fopen
}
2015-10-20 12:41:40 -04:00
################################# Haiku ##########################################
haiku -* {
QMAKE_CXXFLAGS *= - Dfseeko64 = fseeko - Dftello64 = ftello - Dstat64 = stat - Dstatvfs64 = statvfs - Dfopen64 = fopen
OPENPGPSDK_DIR = . . /../ openpgpsdk / src
INCLUDEPATH *= $ $ { OPENPGPSDK_DIR } . . / openpgpsdk
DEFINES *= NO_SQLCIPHER
CONFIG += release
DESTDIR = lib
}
2015-10-12 14:45:11 -04:00
################################### COMMON stuff ##################################
# openpgpsdk
OPENPGPSDK_DIR = . . /../ openpgpsdk / src
DEPENDPATH *= $ $ { OPENPGPSDK_DIR }
INCLUDEPATH *= $ $ { OPENPGPSDK_DIR }
PRE_TARGETDEPS *= $ $ { OPENPGPSDK_DIR } / lib / libops . a
LIBS *= $ $ { OPENPGPSDK_DIR } / lib / libops . a - lbz2
2020-05-12 13:52:49 -04:00
################################### HEADERS & SOURCES #############################
2015-10-12 14:45:11 -04:00
HEADERS += ft / ftchunkmap . h \
ft / ftcontroller . h \
ft / ftdata . h \
ft / ftdatamultiplex . h \
ft / ftextralist . h \
ft / ftfilecreator . h \
ft / ftfileprovider . h \
ft / ftfilesearch . h \
ft / ftsearch . h \
ft / ftserver . h \
ft / fttransfermodule . h \
ft / ftturtlefiletransferitem . h
2017-01-05 17:07:59 -05:00
HEADERS += crypto / chacha20 . h \
2018-07-19 17:22:24 -04:00
crypto / rsaes . h \
2018-06-28 04:01:57 -04:00
crypto / hashstream . h \
crypto / rscrypto . h
2016-10-13 09:13:56 -04:00
2016-04-14 18:25:12 -04:00
HEADERS += directory_updater . h \
directory_list . h \
p3filelists . h
2015-10-12 14:45:11 -04:00
HEADERS += chat / distantchat . h \
chat / p3chatservice . h \
chat / distributedchat . h \
chat / rschatitems . h
HEADERS += pqi / authssl . h \
pqi / authgpg . h \
pgp / pgphandler . h \
pgp / pgpkeyutil . h \
pgp / rscertificate . h \
pgp / pgpauxutils . h \
pqi / p3cfgmgr . h \
pqi / p3peermgr . h \
pqi / p3linkmgr . h \
pqi / p3netmgr . h \
pqi / p3notify . h \
pqi / p3upnpmgr . h \
pqi / pqiqos . h \
pqi / pqi . h \
pqi / pqi_base . h \
pqi / pqiassist . h \
pqi / pqibin . h \
pqi / pqihandler . h \
pqi / pqihash . h \
pqi / p3historymgr . h \
pqi / pqiindic . h \
pqi / pqiipset . h \
pqi / pqilistener . h \
pqi / pqiloopback . h \
pqi / pqimonitor . h \
pqi / pqinetwork . h \
pqi / pqiperson . h \
pqi / pqipersongrp . h \
pqi / pqiservice . h \
2018-11-10 08:45:05 -05:00
pqi / pqiservicemonitor . h \
2015-10-12 14:45:11 -04:00
pqi / pqissl . h \
pqi / pqissllistener . h \
pqi / pqisslpersongrp . h \
pqi / pqisslproxy . h \
pqi / pqistore . h \
pqi / pqistreamer . h \
pqi / pqithreadstreamer . h \
pqi / pqiqosstreamer . h \
pqi / sslfns . h \
pqi / pqinetstatebox . h \
2019-09-29 11:59:32 -04:00
pqi / p3servicecontrol . h
2015-10-12 14:45:11 -04:00
HEADERS += rsserver / p3face . h \
rsserver / p3history . h \
rsserver / p3msgs . h \
rsserver / p3peers . h \
rsserver / p3status . h \
rsserver / rsaccounts . h \
rsserver / p3serverconfig . h
HEADERS += grouter / groutercache . h \
2018-11-10 08:45:05 -05:00
retroshare / rsgrouter . h \
2015-10-12 14:45:11 -04:00
grouter / grouteritems . h \
grouter / p3grouter . h \
grouter / rsgroutermatrix . h \
grouter / groutertypes . h \
2018-11-10 08:45:05 -05:00
grouter / grouterclientservice . h
2015-10-12 14:45:11 -04:00
2017-04-26 05:40:46 -04:00
HEADERS += rsitems / rsitem . h \
rsitems / itempriorities . h \
2015-10-12 14:45:11 -04:00
serialiser / rsbaseserial . h \
2017-04-18 15:11:37 -04:00
rsitems / rsfiletransferitems . h \
2017-04-24 16:47:08 -04:00
rsitems / rsconfigitems . h \
rsitems / rshistoryitems . h \
2017-04-24 05:01:45 -04:00
rsitems / rsmsgitems . h \
2015-10-12 14:45:11 -04:00
serialiser / rsserial . h \
2017-04-18 15:11:37 -04:00
rsitems / rsserviceids . h \
2015-10-12 14:45:11 -04:00
serialiser / rsserviceitems . h \
2017-04-27 15:24:27 -04:00
rsitems / rsstatusitems . h \
2015-10-12 14:45:11 -04:00
serialiser / rstlvaddrs . h \
serialiser / rstlvbase . h \
serialiser / rstlvitem . h \
serialiser / rstlvidset . h \
serialiser / rstlvfileitem . h \
serialiser / rstlvimage . h \
serialiser / rstlvstring . h \
serialiser / rstlvbinary . h \
serialiser / rstlvkeys . h \
serialiser / rstlvkeyvalue . h \
serialiser / rstlvgenericparam . h \
serialiser / rstlvgenericmap . h \
serialiser / rstlvgenericmap . inl \
serialiser / rstlvlist . h \
serialiser / rstlvmaps . h \
serialiser / rstlvbanlist . h \
2017-04-18 15:11:37 -04:00
rsitems / rsbanlistitems . h \
rsitems / rsbwctrlitems . h \
2019-05-02 10:23:46 -04:00
gossipdiscovery / gossipdiscoveryitems . h \
2017-04-27 15:10:22 -04:00
rsitems / rsheartbeatitems . h \
2017-04-24 05:06:51 -04:00
rsitems / rsrttitems . h \
2017-04-28 17:32:47 -04:00
rsitems / rsgxsrecognitems . h \
2017-04-28 10:30:33 -04:00
rsitems / rsgxsupdateitems . h \
2017-04-28 11:47:41 -04:00
rsitems / rsserviceinfoitems . h \
2015-10-12 14:45:11 -04:00
2020-11-21 09:00:40 -05:00
HEADERS += \
2019-04-14 18:12:29 -04:00
services / rseventsservice . h \
2016-10-09 08:32:52 -04:00
services / autoproxy / rsautoproxymonitor . h \
services / p3msgservice . h \
2015-10-12 14:45:11 -04:00
services / p3service . h \
services / p3statusservice . h \
services / p3banlist . h \
2019-05-02 10:23:46 -04:00
services / p3bwctrl . h \
gossipdiscovery / p3gossipdiscovery . h \
2015-10-12 14:45:11 -04:00
services / p3heartbeat . h \
services / p3rtt . h \
2018-05-29 15:54:27 -04:00
services / p3serviceinfo . h \
2015-10-12 14:45:11 -04:00
HEADERS += turtle / p3turtle . h \
turtle / rsturtleitem . h \
turtle / turtletypes . h \
turtle / turtleclientservice . h
HEADERS += util / folderiterator . h \
2020-05-31 18:43:44 -04:00
util / rsdebug . h \
util / rsdebuglevel0 . h \
util / rsdebuglevel1 . h \
util / rsdebuglevel2 . h \
util / rsdebuglevel3 . h \
util / rsdebuglevel4 . h \
2019-09-05 17:54:48 -04:00
util / rskbdinput . h \
2016-01-12 21:10:11 -05:00
util / rsmemory . h \
2015-10-12 14:45:11 -04:00
util / smallobject . h \
util / rsdir . h \
2018-11-10 11:40:34 -05:00
util / argstream . h \
2015-10-12 14:45:11 -04:00
util / rsdiscspace . h \
util / rsnet . h \
util / extaddrfinder . h \
util / dnsresolver . h \
2016-10-09 08:32:52 -04:00
util / radix32 . h \
util / radix64 . h \
2020-03-12 13:57:07 -04:00
util / rsbase64 . h \
2020-03-16 11:20:06 -04:00
util / rsendian . h \
2016-10-09 08:32:52 -04:00
util / rsinitedptr . h \
2015-10-12 14:45:11 -04:00
util / rsprint . h \
util / rsstring . h \
util / rsstd . h \
util / rsthreads . h \
util / rswin . h \
util / rsrandom . h \
util / rsmemcache . h \
util / rstickevent . h \
util / rsrecogn . h \
2018-01-27 14:22:31 -05:00
util / rstime . h \
2016-12-07 14:09:14 -05:00
util / stacktrace . h \
2017-05-08 10:57:37 -04:00
util / rsdeprecate . h \
2020-03-19 12:48:02 -04:00
util / cxx11retrocompat . h \
util / cxx14retrocompat . h \
2019-10-30 09:24:19 -04:00
util / cxx17retrocompat . h \
2019-10-31 13:23:38 -04:00
util / rsurl . h \
util / rserrno . h
2015-10-12 14:45:11 -04:00
SOURCES += ft / ftchunkmap . cc \
ft / ftcontroller . cc \
ft / ftdatamultiplex . cc \
ft / ftextralist . cc \
ft / ftfilecreator . cc \
ft / ftfileprovider . cc \
ft / ftfilesearch . cc \
ft / ftserver . cc \
ft / fttransfermodule . cc \
2020-05-08 10:10:17 -04:00
ft / ftturtlefiletransferitem . cc \
util / i2pcommon . cpp
2015-10-12 14:45:11 -04:00
2017-01-05 17:07:59 -05:00
SOURCES += crypto / chacha20 . cpp \
2018-09-26 11:36:33 -04:00
crypto / hashstream . cc \
crypto / rsaes . cc \
crypto / rscrypto . cpp
2016-10-13 09:13:56 -04:00
2015-10-12 14:45:11 -04:00
SOURCES += chat / distantchat . cc \
chat / p3chatservice . cc \
chat / distributedchat . cc \
chat / rschatitems . cc
SOURCES += pqi / authgpg . cc \
pqi / authssl . cc \
pgp / pgphandler . cc \
pgp / pgpkeyutil . cc \
pgp / rscertificate . cc \
pgp / pgpauxutils . cc \
pqi / p3cfgmgr . cc \
pqi / p3peermgr . cc \
pqi / p3linkmgr . cc \
pqi / p3netmgr . cc \
pqi / p3notify . cc \
pqi / pqiqos . cc \
pqi / pqibin . cc \
pqi / pqihandler . cc \
pqi / p3historymgr . cc \
pqi / pqiipset . cc \
pqi / pqiloopback . cc \
pqi / pqimonitor . cc \
pqi / pqinetwork . cc \
pqi / pqiperson . cc \
pqi / pqipersongrp . cc \
pqi / pqiservice . cc \
pqi / pqissl . cc \
pqi / pqissllistener . cc \
pqi / pqisslpersongrp . cc \
pqi / pqisslproxy . cc \
pqi / pqistore . cc \
pqi / pqistreamer . cc \
pqi / pqithreadstreamer . cc \
pqi / pqiqosstreamer . cc \
pqi / sslfns . cc \
pqi / pqinetstatebox . cc \
2019-04-23 09:46:39 -04:00
pqi / p3servicecontrol . cc
2015-10-12 14:45:11 -04:00
SOURCES += rsserver / p3face - config . cc \
rsserver / p3face - server . cc \
rsserver / p3face - info . cc \
rsserver / p3history . cc \
rsserver / p3msgs . cc \
rsserver / p3peers . cc \
rsserver / p3status . cc \
rsserver / rsinit . cc \
rsserver / rsaccounts . cc \
rsserver / rsloginhandler . cc \
rsserver / p3serverconfig . cc
SOURCES += grouter / p3grouter . cc \
grouter / grouteritems . cc \
grouter / groutermatrix . cc
SOURCES += plugins / pluginmanager . cc \
2017-04-28 10:44:04 -04:00
plugins / dlfcn_win32 . cc
2015-10-12 14:45:11 -04:00
SOURCES += serialiser / rsbaseserial . cc \
2017-04-18 15:11:37 -04:00
rsitems / rsfiletransferitems . cc \
2017-04-24 16:47:08 -04:00
rsitems / rsconfigitems . cc \
rsitems / rshistoryitems . cc \
2017-04-24 05:01:45 -04:00
rsitems / rsmsgitems . cc \
2015-10-12 14:45:11 -04:00
serialiser / rsserial . cc \
serialiser / rstlvaddrs . cc \
serialiser / rstlvbase . cc \
serialiser / rstlvitem . cc \
serialiser / rstlvidset . cc \
serialiser / rstlvfileitem . cc \
serialiser / rstlvimage . cc \
serialiser / rstlvstring . cc \
serialiser / rstlvbinary . cc \
serialiser / rstlvkeys . cc \
serialiser / rstlvkeyvalue . cc \
serialiser / rstlvgenericparam . cc \
serialiser / rstlvbanlist . cc \
2017-04-18 15:11:37 -04:00
rsitems / rsbanlistitems . cc \
rsitems / rsbwctrlitems . cc \
2019-05-02 10:23:46 -04:00
gossipdiscovery / gossipdiscoveryitems . cc \
2017-04-24 05:06:51 -04:00
rsitems / rsrttitems . cc \
2017-04-28 17:32:47 -04:00
rsitems / rsgxsrecognitems . cc \
2017-04-28 10:30:33 -04:00
rsitems / rsgxsupdateitems . cc \
2017-04-28 11:47:41 -04:00
rsitems / rsserviceinfoitems . cc \
2015-10-12 14:45:11 -04:00
2018-01-15 21:31:03 -05:00
2016-10-09 08:32:52 -04:00
SOURCES += services / autoproxy / rsautoproxymonitor . cc \
2019-04-14 18:12:29 -04:00
services / rseventsservice . cc \
2016-10-09 08:32:52 -04:00
services / p3msgservice . cc \
2015-10-12 14:45:11 -04:00
services / p3service . cc \
services / p3statusservice . cc \
services / p3banlist . cc \
services / p3bwctrl . cc \
2019-05-02 10:23:46 -04:00
gossipdiscovery / p3gossipdiscovery . cc \
2015-10-12 14:45:11 -04:00
services / p3heartbeat . cc \
services / p3rtt . cc \
services / p3serviceinfo . cc \
SOURCES += turtle / p3turtle . cc \
2019-04-23 09:46:39 -04:00
turtle / rsturtleitem . cc
2015-10-12 14:45:11 -04:00
SOURCES += util / folderiterator . cc \
util / rsdebug . cc \
2019-09-05 17:54:48 -04:00
util / rskbdinput . cc \
2016-09-13 06:14:16 -04:00
util / rsexpr . cc \
2015-10-12 14:45:11 -04:00
util / smallobject . cc \
util / rsdir . cc \
2016-01-12 21:10:11 -05:00
util / rsmemory . cc \
2015-10-12 14:45:11 -04:00
util / rsdiscspace . cc \
util / rsnet . cc \
util / rsnet_ss . cc \
util / extaddrfinder . cc \
util / dnsresolver . cc \
util / rsprint . cc \
util / rsstring . cc \
util / rsthreads . cc \
util / rsrandom . cc \
util / rstickevent . cc \
util / rsrecogn . cc \
2018-03-02 13:20:56 -05:00
util / rstime . cc \
2019-10-31 13:23:38 -04:00
util / rsurl . cc \
2020-03-12 13:57:07 -04:00
util / rsbase64 . cc \
2019-10-31 13:23:38 -04:00
util / rserrno . cc
2015-10-12 14:45:11 -04:00
2018-04-15 07:41:52 -04:00
equals ( RS_UPNP_LIB , miniupnpc ) {
2019-04-24 17:36:40 -04:00
HEADERS += rs_upnp / upnputil . h rs_upnp / upnphandler_miniupnp . h
2019-09-28 07:54:16 -04:00
SOURCES += rs_upnp / upnputil . cc rs_upnp / upnphandler_miniupnp . cc
2019-04-24 12:08:35 -04:00
}
2019-04-24 17:36:40 -04:00
contains ( RS_UPNP_LIB , upnp ) {
HEADERS += rs_upnp / upnp18_retrocompat . h
2019-09-29 11:59:32 -04:00
HEADERS += rs_upnp / UPnPBase . h rs_upnp / upnphandler_libupnp . h
SOURCES += rs_upnp / UPnPBase . cpp rs_upnp / upnphandler_libupnp . cc
2015-10-12 14:45:11 -04:00
}
# new gxs cache system
# this should be disabled for releases until further notice .
DEFINES *= SQLITE_HAS_CODEC
DEFINES *= GXS_ENABLE_SYNC_MSGS
2017-04-27 08:21:46 -04:00
HEADERS += rsitems / rsnxsitems . h \
2018-11-10 08:45:05 -05:00
rsitems / rsgxsitems . h \
retroshare / rstokenservice . h \
retroshare / rsgxsservice . h \
retroshare / rsgxsflags . h \
retroshare / rsgxsifacetypes . h \
retroshare / rsgxsiface . h \
retroshare / rsgxscommon . h \
retroshare / rsgxsifacehelper . h \
util / retrodb . h \
util / rsdbbind . h \
util / contentvalue . h \
gxs / rsgxsutil . h \
2020-04-26 17:35:37 -04:00
gxs / rsgxsnotify . h \
2018-11-10 08:45:05 -05:00
gxs / gxssecurity . h \
2015-10-12 14:45:11 -04:00
gxs / rsgds . h \
gxs / rsgxs . h \
gxs / rsdataservice . h \
gxs / rsgxsnetservice . h \
2017-12-20 16:14:58 -05:00
gxs / rsgxsnettunnel . h \
2015-10-12 14:45:11 -04:00
gxs / rsgenexchange . h \
2018-11-10 08:45:05 -05:00
gxs / rsnxs . h \
2015-10-12 14:45:11 -04:00
gxs / rsnxsobserver . h \
gxs / rsgxsdata . h \
gxs / rsgxsdataaccess . h \
gxs / gxstokenqueue . h \
gxs / rsgxsnetutils . h \
gxs / rsgxsrequesttypes . h
2017-04-27 08:21:46 -04:00
SOURCES += rsitems / rsnxsitems . cc \
2017-04-26 08:28:25 -04:00
rsitems / rsgxsitems . cc \
2015-10-12 14:45:11 -04:00
util / retrodb . cc \
util / contentvalue . cc \
util / rsdbbind . cc \
gxs / gxssecurity . cc \
2018-11-10 08:45:05 -05:00
gxs / rsgxsdataaccess . cc \
gxs / rsdataservice . cc \
gxs / rsgenexchange . cc \
gxs / rsgxsnetservice . cc \
gxs / rsgxsnettunnel . cc \
gxs / rsgxsdata . cc \
2015-10-12 14:45:11 -04:00
gxs / gxstokenqueue . cc \
gxs / rsgxsnetutils . cc \
gxs / rsgxsutil . cc \
gxs / rsgxsrequesttypes . cc
2015-12-04 21:24:51 -05:00
# gxs tunnels
HEADERS += gxstunnel / p3gxstunnel . h \
gxstunnel / rsgxstunnelitems . h \
retroshare / rsgxstunnel . h
SOURCES += gxstunnel / p3gxstunnel . cc \
gxstunnel / rsgxstunnelitems . cc
2015-10-12 14:45:11 -04:00
2017-04-02 08:48:17 -04:00
# new serialization code
2018-01-15 21:31:03 -05:00
HEADERS += serialiser / rsserializable . h \
serialiser / rsserializer . h \
2018-08-16 17:34:29 -04:00
serialiser / rstypeserializer . h \
util / rsjson . h
2017-04-02 08:48:17 -04:00
2018-11-10 10:24:47 -05:00
SOURCES += serialiser / rsserializable . cc \
serialiser / rsserializer . cc \
2018-08-16 17:34:29 -04:00
serialiser / rstypeserializer . cc \
util / rsjson . cc
2017-04-02 08:48:17 -04:00
2015-10-12 14:45:11 -04:00
# Identity Service
HEADERS += retroshare / rsidentity . h \
2019-02-15 13:29:36 -05:00
retroshare / rsreputations . h \
2015-10-12 14:45:11 -04:00
gxs / rsgixs . h \
services / p3idservice . h \
2017-04-26 08:28:25 -04:00
rsitems / rsgxsiditems . h \
2015-10-12 14:45:11 -04:00
services / p3gxsreputation . h \
2017-04-22 15:36:39 -04:00
rsitems / rsgxsreputationitems . h \
2015-10-12 14:45:11 -04:00
SOURCES += services / p3idservice . cc \
2017-04-26 08:28:25 -04:00
rsitems / rsgxsiditems . cc \
2015-10-12 14:45:11 -04:00
services / p3gxsreputation . cc \
2017-04-22 15:36:39 -04:00
rsitems / rsgxsreputationitems . cc \
2015-10-12 14:45:11 -04:00
# GxsCircles Service
HEADERS += services / p3gxscircles . h \
2017-04-26 14:59:59 -04:00
rsitems / rsgxscircleitems . h \
2015-10-12 14:45:11 -04:00
retroshare / rsgxscircles . h \
SOURCES += services / p3gxscircles . cc \
2017-04-26 14:59:59 -04:00
rsitems / rsgxscircleitems . cc \
2015-10-12 14:45:11 -04:00
# GxsForums Service
HEADERS += retroshare / rsgxsforums . h \
services / p3gxsforums . h \
2017-04-27 05:59:18 -04:00
rsitems / rsgxsforumitems . h
2015-10-12 14:45:11 -04:00
SOURCES += services / p3gxsforums . cc \
2017-04-27 05:59:18 -04:00
rsitems / rsgxsforumitems . cc \
2015-10-12 14:45:11 -04:00
# GxsChannels Service
HEADERS += retroshare / rsgxschannels . h \
services / p3gxschannels . h \
services / p3gxscommon . h \
2017-04-26 08:28:25 -04:00
rsitems / rsgxscommentitems . h \
2017-04-26 14:15:54 -04:00
rsitems / rsgxschannelitems . h \
2015-10-12 14:45:11 -04:00
SOURCES += services / p3gxschannels . cc \
services / p3gxscommon . cc \
2017-04-26 08:28:25 -04:00
rsitems / rsgxscommentitems . cc \
2017-04-26 14:15:54 -04:00
rsitems / rsgxschannelitems . cc \
2015-10-12 14:45:11 -04:00
wikipoos {
2020-02-10 06:24:47 -05:00
DEFINES *= RS_USE_WIKI
2015-10-12 14:45:11 -04:00
# Wiki Service
HEADERS += retroshare / rswiki . h \
services / p3wiki . h \
2017-04-29 15:50:55 -04:00
rsitems / rswikiitems . h
2015-10-12 14:45:11 -04:00
SOURCES += services / p3wiki . cc \
2017-04-29 15:50:55 -04:00
rsitems / rswikiitems . cc \
2015-10-12 14:45:11 -04:00
}
gxsthewire {
2020-02-10 06:24:47 -05:00
DEFINES *= RS_USE_WIRE
2015-10-12 14:45:11 -04:00
# Wire Service
HEADERS += retroshare / rswire . h \
services / p3wire . h \
2017-04-29 15:50:55 -04:00
rsitems / rswireitems . h
2015-10-12 14:45:11 -04:00
SOURCES += services / p3wire . cc \
2017-04-29 15:50:55 -04:00
rsitems / rswireitems . cc \
2015-10-12 14:45:11 -04:00
}
# Posted Service
HEADERS += services / p3postbase . h \
services / p3posted . h \
retroshare / rsposted . h \
2017-04-27 08:44:41 -04:00
rsitems / rsposteditems . h
2015-10-12 14:45:11 -04:00
SOURCES += services / p3postbase . cc \
services / p3posted . cc \
2017-04-27 08:44:41 -04:00
rsitems / rsposteditems . cc
2015-10-12 14:45:11 -04:00
gxsphotoshare {
2020-02-10 06:24:47 -05:00
DEFINES *= RS_USE_PHOTO
2015-10-12 14:45:11 -04:00
# Photo Service
HEADERS += services / p3photoservice . h \
retroshare / rsphoto . h \
2017-04-28 12:51:35 -04:00
rsitems / rsphotoitems . h \
2015-10-12 14:45:11 -04:00
SOURCES += services / p3photoservice . cc \
2017-04-28 12:51:35 -04:00
rsitems / rsphotoitems . cc \
2015-10-12 14:45:11 -04:00
}
2017-03-01 20:37:53 -05:00
rs_gxs_trans {
HEADERS += gxstrans / p3gxstransitems . h gxstrans / p3gxstrans . h
SOURCES += gxstrans / p3gxstransitems . cc gxstrans / p3gxstrans . cc
2017-01-14 17:20:42 -05:00
}
2015-10-12 14:45:11 -04:00
2018-06-23 11:13:38 -04:00
rs_jsonapi {
2018-09-20 16:24:05 -04:00
JSONAPI_GENERATOR_SRC = $ $ clean_path ( $ $ { RS_SRC_PATH } / jsonapi - generator / src / )
JSONAPI_GENERATOR_OUT = $ $ clean_path ( $ $ { RS_BUILD_PATH } / jsonapi - generator / src / )
2018-09-28 18:15:10 -04:00
isEmpty ( JSONAPI_GENERATOR_EXE ) {
win32 {
CONFIG ( release , debug | release ) {
JSONAPI_GENERATOR_EXE = $ $ clean_path ( $ $ { JSONAPI_GENERATOR_OUT } / release / jsonapi - generator . exe )
}
CONFIG ( debug , debug | release ) {
JSONAPI_GENERATOR_EXE = $ $ clean_path ( $ $ { JSONAPI_GENERATOR_OUT } / debug / jsonapi - generator . exe )
}
} else {
JSONAPI_GENERATOR_EXE = $ $ clean_path ( $ $ { JSONAPI_GENERATOR_OUT } / jsonapi - generator )
2018-09-20 16:24:05 -04:00
}
}
2018-09-28 18:15:10 -04:00
2018-09-20 16:24:05 -04:00
DOXIGEN_INPUT_DIRECTORY = $ $ clean_path ( $ $ { PWD } )
DOXIGEN_CONFIG_SRC = $ $ clean_path ( $ $ { RS_SRC_PATH } / jsonapi - generator / src / jsonapi - generator - doxygen . conf )
DOXIGEN_CONFIG_OUT = $ $ clean_path ( $ $ { JSONAPI_GENERATOR_OUT } / jsonapi - generator - doxygen - final . conf )
WRAPPERS_INCL_FILE = $ $ clean_path ( $ $ { JSONAPI_GENERATOR_OUT } / jsonapi - includes . inl )
WRAPPERS_REG_FILE = $ $ clean_path ( $ $ { JSONAPI_GENERATOR_OUT } / jsonapi - wrappers . inl )
2018-10-05 16:29:49 -04:00
no_rs_cross_compiling {
2019-03-16 12:26:27 -04:00
DUMMYRESTBEDINPUT = FORCE
2019-03-26 15:54:36 -04:00
CMAKE_GENERATOR_OVERRIDE = ""
2020-08-10 16:26:02 -04:00
win32 - g ++ | win32 - clang - g ++ {
isEmpty ( QMAKE_SH ) {
CMAKE_GENERATOR_OVERRIDE = "-G \"MinGW Makefiles\""
} else {
CMAKE_GENERATOR_OVERRIDE = "-G \"MSYS Makefiles\""
}
}
2019-04-11 20:53:39 -04:00
genrestbedlib . name = Generating librestbed .
2019-03-16 12:26:27 -04:00
genrestbedlib . input = DUMMYRESTBEDINPUT
genrestbedlib . output = $ $ clean_path ( $ $ { RESTBED_BUILD_PATH } / librestbed . a )
genrestbedlib . CONFIG += target_predeps combine
genrestbedlib . variable_out = PRE_TARGETDEPS
2020-08-10 16:26:02 -04:00
win32 - g ++: isEmpty ( QMAKE_SH ) {
genrestbedlib . commands = \
2020-11-09 10:12:56 -05:00
cd / D $ $ shell_path ( $ $ { RS_SRC_PATH } ) && git submodule update -- init supportlibs / restbed | | cd . $ $ escape_expand ( \\ n \\ t ) \
cd / D $ $ shell_path ( $ $ { RESTBED_SRC_PATH } ) && git submodule update -- init dependency / asio | | cd . $ $ escape_expand ( \\ n \\ t ) \
cd / D $ $ shell_path ( $ $ { RESTBED_SRC_PATH } ) && git submodule update -- init dependency / catch | | cd . $ $ escape_expand ( \\ n \\ t ) \
cd / D $ $ shell_path ( $ $ { RESTBED_SRC_PATH } ) && git submodule update -- init dependency / kashmir | | cd . $ $ escape_expand ( \\ n \\ t ) \
2020-08-10 16:26:02 -04:00
$ ( CHK_DIR_EXISTS ) $ $ shell_path ( $ $ UDP_DISCOVERY_BUILD_PATH ) $ ( MKDIR ) $ $ shell_path ( $ $ { UDP_DISCOVERY_BUILD_PATH } ) $ $ escape_expand ( \\ n \\ t )
} else {
2020-08-10 16:12:13 -04:00
genrestbedlib . commands = \
cd $ $ { RS_SRC_PATH } && ( \
git submodule update -- init supportlibs / restbed ; \
cd $ $ { RESTBED_SRC_PATH } ; \
git submodule update -- init dependency / asio ; \
git submodule update -- init dependency / catch ; \
git submodule update -- init dependency / kashmir ; \
true ) && \
2020-08-10 16:26:02 -04:00
mkdir - p $ $ { RESTBED_BUILD_PATH } &&
}
genrestbedlib . commands += \
cd $ $ shell_path ( $ $ { RESTBED_BUILD_PATH } ) && \
2019-05-09 06:38:25 -04:00
cmake \
2019-04-15 07:34:27 -04:00
- DCMAKE_CXX_COMPILER = $ $ QMAKE_CXX \
2020-05-29 20:16:59 -04:00
\ " - DCMAKE_CXX_FLAGS = $ $ { QMAKE_CXXFLAGS } \ " \
2019-04-11 20:53:39 -04:00
$ $ { CMAKE_GENERATOR_OVERRIDE } - DBUILD_SSL = OFF \
- DCMAKE_INSTALL_PREFIX =. - B . \
- H $ $ shell_path ( $ $ { RESTBED_SRC_PATH } ) && \
2019-04-11 21:21:11 -04:00
$ ( MAKE )
2019-03-16 12:26:27 -04:00
QMAKE_EXTRA_COMPILERS += genrestbedlib
RESTBED_HEADER_FILE = $ $ clean_path ( $ $ { RESTBED_BUILD_PATH } / include / restbed )
genrestbedheader . name = Generating restbed header .
genrestbedheader . input = genrestbedlib . output
genrestbedheader . output = $ $ { RESTBED_HEADER_FILE }
2020-05-23 16:05:44 -04:00
genrestbedheader . CONFIG += target_predeps no_link
2019-03-16 12:26:27 -04:00
genrestbedheader . variable_out = HEADERS
2020-08-10 16:26:02 -04:00
genrestbedheader . commands = cd $ $ shell_path ( $ $ { RESTBED_BUILD_PATH } ) && $ ( MAKE ) install
2019-03-16 12:26:27 -04:00
QMAKE_EXTRA_COMPILERS += genrestbedheader
2018-10-05 16:29:49 -04:00
}
2018-06-23 11:13:38 -04:00
INCLUDEPATH *= $ $ { JSONAPI_GENERATOR_OUT }
2019-03-16 11:36:54 -04:00
DEPENDPATH *= $ $ { JSONAPI_GENERATOR_OUT }
2019-03-16 12:26:27 -04:00
APIHEADERS = $ $ files ( $ $ { RS_SRC_PATH } / libretroshare / src / retroshare /* .h)
2019-03-16 11:36:54 -04:00
# Make sure that the jsonapigenerator executable are ready
2019-03-16 12:26:27 -04:00
APIHEADERS += $ $ { JSONAPI_GENERATOR_EXE }
2019-03-09 19:49:47 -05:00
genjsonapi . name = Generating jsonapi headers .
2019-03-16 12:26:27 -04:00
genjsonapi . input = APIHEADERS
2019-03-16 11:36:54 -04:00
genjsonapi . output = $ $ { WRAPPERS_INCL_FILE } $ $ { WRAPPERS_REG_FILE }
genjsonapi . clean = $ $ { WRAPPERS_INCL_FILE } $ $ { WRAPPERS_REG_FILE }
2019-03-09 19:49:47 -05:00
genjsonapi . CONFIG += target_predeps combine no_link
genjsonapi . variable_out = HEADERS
2020-08-10 16:26:02 -04:00
win32 - g ++: isEmpty ( QMAKE_SH ) {
genjsonapi . commands = \
$ ( CHK_DIR_EXISTS ) $ $ shell_path ( $ $ JSONAPI_GENERATOR_OUT ) $ ( MKDIR ) $ $ shell_path ( $ $ { JSONAPI_GENERATOR_OUT } ) $ $ escape_expand ( \\ n \\ t )
} else {
genjsonapi . commands = \
mkdir - p $ $ { JSONAPI_GENERATOR_OUT } && \
cp $ $ { DOXIGEN_CONFIG_SRC } $ $ { DOXIGEN_CONFIG_OUT } && \
echo OUTPUT_DIRECTORY = $ $ { JSONAPI_GENERATOR_OUT } >> $ $ { DOXIGEN_CONFIG_OUT } && \
echo INPUT = $ $ { DOXIGEN_INPUT_DIRECTORY } >> $ $ { DOXIGEN_CONFIG_OUT } && \
doxygen $ $ { DOXIGEN_CONFIG_OUT } &&
}
genjsonapi . commands += \
$ $ { JSONAPI_GENERATOR_EXE } $ $ { JSONAPI_GENERATOR_SRC } $ $ { JSONAPI_GENERATOR_OUT }
2019-03-09 19:49:47 -05:00
QMAKE_EXTRA_COMPILERS += genjsonapi
2018-06-23 11:13:38 -04:00
# Force recalculation of libretroshare dependencies see https : // stackoverflow . com / a / 47884045
QMAKE_EXTRA_TARGETS += libretroshare
2019-11-27 12:44:10 -05:00
HEADERS += jsonapi / jsonapi . h jsonapi / jsonapiitems . h retroshare / rsjsonapi . h
SOURCES += jsonapi / jsonapi . cpp
2018-06-23 11:13:38 -04:00
}
2019-06-20 11:24:18 -04:00
rs_deep_channels_index {
HEADERS *= deep_search / commonutils . hpp
SOURCES *= deep_search / commonutils . cpp
HEADERS += deep_search / channelsindex . hpp
SOURCES += deep_search / channelsindex . cpp
}
rs_deep_files_index {
HEADERS *= deep_search / commonutils . hpp
SOURCES *= deep_search / commonutils . cpp
HEADERS += deep_search / filesindex . hpp
SOURCES += deep_search / filesindex . cpp
}
rs_deep_files_index_ogg {
HEADERS += deep_search / filesoggindexer . hpp
2018-06-09 12:06:14 -04:00
}
2015-10-12 14:45:11 -04:00
2019-06-21 07:33:10 -04:00
rs_deep_files_index_flac {
HEADERS += deep_search / filesflacindexer . hpp
}
rs_deep_files_index_taglib {
HEADERS += deep_search / filestaglibindexer . hpp
}
2019-04-11 20:53:39 -04:00
rs_broadcast_discovery {
HEADERS += retroshare / rsbroadcastdiscovery . h \
services / broadcastdiscoveryservice . h
SOURCES += services / broadcastdiscoveryservice . cc
no_rs_cross_compiling {
DUMMYQMAKECOMPILERINPUT = FORCE
CMAKE_GENERATOR_OVERRIDE = ""
2020-07-30 17:00:47 -04:00
win32 - g ++ | win32 - clang - g ++ {
isEmpty ( QMAKE_SH ) {
CMAKE_GENERATOR_OVERRIDE = "-G \"MinGW Makefiles\""
} else {
CMAKE_GENERATOR_OVERRIDE = "-G \"MSYS Makefiles\""
}
}
2019-04-11 20:53:39 -04:00
udpdiscoverycpplib . name = Generating libudp - discovery . a .
udpdiscoverycpplib . input = DUMMYQMAKECOMPILERINPUT
udpdiscoverycpplib . output = $ $ clean_path ( $ $ { UDP_DISCOVERY_BUILD_PATH } / libudp - discovery . a )
udpdiscoverycpplib . CONFIG += target_predeps combine
udpdiscoverycpplib . variable_out = PRE_TARGETDEPS
2020-08-10 16:12:13 -04:00
win32 - g ++: isEmpty ( QMAKE_SH ) {
2020-07-30 17:00:47 -04:00
udpdiscoverycpplib . commands = \
2020-11-09 10:12:56 -05:00
cd / D $ $ shell_path ( $ $ { RS_SRC_PATH } ) && git submodule update -- init supportlibs / udp - discovery - cpp | | cd . $ $ escape_expand ( \\ n \\ t ) \
2020-07-30 17:00:47 -04:00
$ ( CHK_DIR_EXISTS ) $ $ shell_path ( $ $ UDP_DISCOVERY_BUILD_PATH ) $ ( MKDIR ) $ $ shell_path ( $ $ { UDP_DISCOVERY_BUILD_PATH } ) $ $ escape_expand ( \\ n \\ t )
} else {
udpdiscoverycpplib . commands = \
cd $ $ { RS_SRC_PATH } && ( \
git submodule update -- init supportlibs / udp - discovery - cpp | | \
true ) && \
mkdir - p $ $ { UDP_DISCOVERY_BUILD_PATH } &&
}
udpdiscoverycpplib . commands += \
cd $ $ shell_path ( $ $ { UDP_DISCOVERY_BUILD_PATH } ) && \
2019-04-15 07:34:27 -04:00
cmake - DCMAKE_C_COMPILER = $ $ fixQmakeCC ( $ $ QMAKE_CC ) \
2019-04-11 21:21:11 -04:00
- DCMAKE_CXX_COMPILER = $ $ QMAKE_CXX \
2020-05-29 20:16:59 -04:00
\ " - DCMAKE_CXX_FLAGS = $ $ { QMAKE_CXXFLAGS } \ " \
2019-04-11 20:53:39 -04:00
$ $ { CMAKE_GENERATOR_OVERRIDE } \
- DBUILD_EXAMPLE = OFF - DBUILD_TOOL = OFF \
- DCMAKE_INSTALL_PREFIX =. - B . \
- H $ $ shell_path ( $ $ { UDP_DISCOVERY_SRC_PATH } ) && \
2019-04-11 21:21:11 -04:00
$ ( MAKE )
2019-04-11 20:53:39 -04:00
QMAKE_EXTRA_COMPILERS += udpdiscoverycpplib
}
}
2020-10-25 07:50:55 -04:00
rs_sam3 {
SOURCES += \
services / autoproxy / p3i2psam3 . cpp \
pqi / pqissli2psam3 . cpp \
HEADERS += \
services / autoproxy / p3i2psam3 . h \
pqi / pqissli2psam3 . h \
}
rs_sam3_libsam3 {
DUMMYQMAKECOMPILERINPUT = FORCE
libsam3 . name = Generating libsam3 .
libsam3 . input = DUMMYQMAKECOMPILERINPUT
libsam3 . output = $ $ clean_path ( $ $ { LIBSAM3_BUILD_PATH } / libsam3 . a )
libsam3 . CONFIG += target_predeps combine
libsam3 . variable_out = PRE_TARGETDEPS
libsam3 . commands = \
2020-11-27 14:07:51 -05:00
cd $ $ { RS_SRC_PATH } && ( \
git submodule update -- init supportlibs / libsam3 | | \
true ) && \
mkdir - p $ $ { UDP_DISCOVERY_BUILD_PATH } && \
2020-10-25 07:50:55 -04:00
cp - r $ $ { LIBSAM3_SRC_PATH } /* $${LIBSAM3_BUILD_PATH} && \
cd $ $ { LIBSAM3_BUILD_PATH } && \
$ ( MAKE ) build
QMAKE_EXTRA_COMPILERS += libsam3
}
2015-10-12 14:45:11 -04:00
###########################################################################################################
# OLD CONFIG OPTIONS .
# Not used much - but might be useful one day .
#
testnetwork {
# used in rsserver / rsinit . cc Enabled Port Restrictions , and makes Proxy Port next to Dht Port .
DEFINES *= LOCALNET_TESTING
# used in tcponudp / udprelay . cc Debugging Info for Relays .
DEFINES *= DEBUG_UDP_RELAY
# used in tcponudp / udpstunner . [ h | cc ] enables local stun ( careful - modifies class variables ) .
DEFINES *= UDPSTUN_ALLOW_LOCALNET
# used in pqi / p3linkmgr . cc prints out extra debug .
DEFINES *= LINKMGR_DEBUG_LINKTYPE
# used in dht / connectstatebox to reduce connection times and display debug .
# DEFINES *= TESTING_PERIODS
# DEFINES *= DEBUG_CONNECTBOX
}
test_bitdht {
# DISABLE TCP CONNECTIONS . . .
DEFINES *= P3CONNMGR_NO_TCP_CONNECTIONS
# NO AUTO CONNECTIONS ??? FOR TESTING DHT STATUS .
DEFINES *= P3CONNMGR_NO_AUTO_CONNECTION
# ENABLED UDP NOW .
}
2016-09-04 09:01:44 -04:00
################################# Android #####################################
2018-01-30 12:11:31 -05:00
android -* {
2018-10-05 19:23:08 -04:00
## TODO : This probably disable largefile support and maybe is not necessary with
## _ _ ANDROID_API__ >= 24 hence should be made conditional or moved to a
## compatibility header
2018-01-30 12:24:03 -05:00
DEFINES *= "fopen64=fopen"
DEFINES *= "fseeko64=fseeko"
DEFINES *= "ftello64=ftello"
2018-04-15 07:41:52 -04:00
## Static library are very susceptible to order in command line
sLibs = bz2 $ $ RS_UPNP_LIB $ $ RS_SQL_LIB ssl crypto
2018-01-30 12:24:03 -05:00
2018-04-15 07:41:52 -04:00
LIBS += $ $ linkStaticLibs ( sLibs )
PRE_TARGETDEPS += $ $ pretargetStaticLibs ( sLibs )
2016-12-21 18:33:34 -05:00
HEADERS += util / androiddebug . h
2016-09-04 09:01:44 -04:00
}
2018-04-15 07:41:52 -04:00