From 569458a1c1847f42dca8556e92a9275af1a13a4b Mon Sep 17 00:00:00 2001 From: Konrad Date: Tue, 28 Mar 2017 11:18:27 +0200 Subject: [PATCH] Changed: Qt dependecies are optional --- libresapi/src/api/ApiServer.cpp | 15 +++++++-- libresapi/src/libresapi.pro | 55 ++++++++++++++++++--------------- retroshare.pri | 6 ++++ 3 files changed, 48 insertions(+), 28 deletions(-) diff --git a/libresapi/src/api/ApiServer.cpp b/libresapi/src/api/ApiServer.cpp index 6efadeaf6..327dd6260 100644 --- a/libresapi/src/api/ApiServer.cpp +++ b/libresapi/src/api/ApiServer.cpp @@ -17,7 +17,9 @@ #include "ChannelsHandler.h" #include "StatsHandler.h" -#include "SettingsHandler.h" +#ifdef LIBRESAPI_QT + #include "SettingsHandler.h" +#endif /* data types in json http://json.org/ @@ -238,8 +240,10 @@ public: mChatHandler(sts, ifaces.mNotify, ifaces.mMsgs, ifaces.mPeers, ifaces.mIdentity, &mPeersHandler), mApiPluginHandler(sts, ifaces), mChannelsHandler(ifaces.mGxsChannels), - mStatsHandler(), - mSettingsHandler(sts) + mStatsHandler() +#ifdef LIBRESAPI_QT + ,mSettingsHandler(sts) +#endif { // the dynamic cast is to not confuse the addResourceHandler template like this: // addResourceHandler(derived class, parent class) @@ -265,8 +269,10 @@ public: &ChannelsHandler::handleRequest); router.addResourceHandler("stats", dynamic_cast(&mStatsHandler), &StatsHandler::handleRequest); +#ifdef LIBRESAPI_QT router.addResourceHandler("settings", dynamic_cast(&mSettingsHandler), &SettingsHandler::handleRequest); +#endif } PeersHandler mPeersHandler; @@ -279,7 +285,10 @@ public: ApiPluginHandler mApiPluginHandler; ChannelsHandler mChannelsHandler; StatsHandler mStatsHandler; + +#ifdef LIBRESAPI_QT SettingsHandler mSettingsHandler; +#endif }; ApiServer::ApiServer(): diff --git a/libresapi/src/libresapi.pro b/libresapi/src/libresapi.pro index 33c4f726c..e548ea9d0 100644 --- a/libresapi/src/libresapi.pro +++ b/libresapi/src/libresapi.pro @@ -3,8 +3,7 @@ TEMPLATE = lib CONFIG += staticlib CONFIG += create_prl -CONFIG += qt -QT += core +CONFIG -= qt TARGET = resapi TARGET_PRL = libresapi DESTDIR = lib @@ -13,32 +12,32 @@ INCLUDEPATH += ../../libretroshare/src retroshare_android_service { win32 { - OBJECTS_DIR = temp/obj + OBJECTS_DIR = temp/obj - LIBS_DIR = $$PWD/../../libs/lib - LIBS += $$OUT_PWD/../../libretroshare/src/lib/libretroshare.a - LIBS += $$OUT_PWD/../../openpgpsdk/src/lib/libops.a + LIBS_DIR = $$PWD/../../libs/lib + LIBS += $$OUT_PWD/../../libretroshare/src/lib/libretroshare.a + LIBS += $$OUT_PWD/../../openpgpsdk/src/lib/libops.a - for(lib, LIB_DIR):LIBS += -L"$$lib" - for(bin, BIN_DIR):LIBS += -L"$$bin" + for(lib, LIB_DIR):LIBS += -L"$$lib" + for(bin, BIN_DIR):LIBS += -L"$$bin" - LIBS += -lssl -lcrypto -lpthread -lminiupnpc -lz -lws2_32 - LIBS += -luuid -lole32 -liphlpapi -lcrypt32 -lgdi32 - LIBS += -lwinmm + LIBS += -lssl -lcrypto -lpthread -lminiupnpc -lz -lws2_32 + LIBS += -luuid -lole32 -liphlpapi -lcrypt32 -lgdi32 + LIBS += -lwinmm - DEFINES *= WINDOWS_SYS WIN32_LEAN_AND_MEAN _USE_32BIT_TIME_T + DEFINES *= WINDOWS_SYS WIN32_LEAN_AND_MEAN _USE_32BIT_TIME_T - DEPENDPATH += . $$INC_DIR - INCLUDEPATH += . $$INC_DIR + DEPENDPATH += . $$INC_DIR + INCLUDEPATH += . $$INC_DIR - greaterThan(QT_MAJOR_VERSION, 4) { - # Qt 5 - RC_INCLUDEPATH += $$_PRO_FILE_PWD_/../../libretroshare/src - } else { - # Qt 4 - QMAKE_RC += --include-dir=$$_PRO_FILE_PWD_/../../libretroshare/src - } + greaterThan(QT_MAJOR_VERSION, 4) { + # Qt 5 + RC_INCLUDEPATH += $$_PRO_FILE_PWD_/../../libretroshare/src + } else { + # Qt 4 + QMAKE_RC += --include-dir=$$_PRO_FILE_PWD_/../../libretroshare/src + } } DEPENDPATH += . ../../libretroshare/src/ @@ -183,8 +182,7 @@ SOURCES += \ util/ContentTypes.cpp \ api/ApiPluginHandler.cpp \ api/ChannelsHandler.cpp \ - api/StatsHandler.cpp \ - api/SettingsHandler.cpp + api/StatsHandler.cpp HEADERS += \ api/ApiServer.h \ @@ -211,8 +209,7 @@ HEADERS += \ util/ContentTypes.h \ api/ApiPluginHandler.h \ api/ChannelsHandler.h \ - api/StatsHandler.h \ - api/SettingsHandler.h + api/StatsHandler.h libresapilocalserver { CONFIG *= qt @@ -220,3 +217,11 @@ libresapilocalserver { SOURCES *= api/ApiServerLocal.cpp HEADERS *= api/ApiServerLocal.h } + +qt_dependencies { + CONFIG *= qt + QT *= core + + SOURCES += api/SettingsHandler.cpp + HEADERS += api/SettingsHandler.h +} diff --git a/retroshare.pri b/retroshare.pri index 498131aea..e27348311 100644 --- a/retroshare.pri +++ b/retroshare.pri @@ -29,6 +29,11 @@ retroshare_qml_app:CONFIG -= no_retroshare_qml_app CONFIG *= no_libresapilocalserver libresapilocalserver:CONFIG -= no_libresapilocalserver +# To enable Qt dependencies in libresapi append the following +# assignation to qmake command line "CONFIG+=qt_dependencies" +CONFIG *= no_qt_dependencies +qt_dependencies:CONFIG -= no_qt_dependencies + # To disable libresapi via HTTP (based on libmicrohttpd) append the following # assignation to qmake command line "CONFIG+=no_libresapihttpserver" CONFIG *= libresapihttpserver @@ -155,6 +160,7 @@ unfinished { wikipoos:DEFINES *= RS_USE_WIKI rs_gxs:DEFINES *= RS_ENABLE_GXS libresapilocalserver:DEFINES *= LIBRESAPI_LOCAL_SERVER +qt_dependencies:DEFINES *= LIBRESAPI_QT libresapihttpserver:DEFINES *= ENABLE_WEBUI sqlcipher:DEFINES -= NO_SQLCIPHER no_sqlcipher:DEFINES *= NO_SQLCIPHER