Changed: Qt dependecies are optional

This commit is contained in:
Konrad 2017-03-28 11:18:27 +02:00
parent 4031e493fb
commit 569458a1c1
3 changed files with 48 additions and 28 deletions

View File

@ -17,7 +17,9 @@
#include "ChannelsHandler.h" #include "ChannelsHandler.h"
#include "StatsHandler.h" #include "StatsHandler.h"
#include "SettingsHandler.h" #ifdef LIBRESAPI_QT
#include "SettingsHandler.h"
#endif
/* /*
data types in json http://json.org/ data types in json http://json.org/
@ -238,8 +240,10 @@ public:
mChatHandler(sts, ifaces.mNotify, ifaces.mMsgs, ifaces.mPeers, ifaces.mIdentity, &mPeersHandler), mChatHandler(sts, ifaces.mNotify, ifaces.mMsgs, ifaces.mPeers, ifaces.mIdentity, &mPeersHandler),
mApiPluginHandler(sts, ifaces), mApiPluginHandler(sts, ifaces),
mChannelsHandler(ifaces.mGxsChannels), mChannelsHandler(ifaces.mGxsChannels),
mStatsHandler(), mStatsHandler()
mSettingsHandler(sts) #ifdef LIBRESAPI_QT
,mSettingsHandler(sts)
#endif
{ {
// the dynamic cast is to not confuse the addResourceHandler template like this: // the dynamic cast is to not confuse the addResourceHandler template like this:
// addResourceHandler(derived class, parent class) // addResourceHandler(derived class, parent class)
@ -265,8 +269,10 @@ public:
&ChannelsHandler::handleRequest); &ChannelsHandler::handleRequest);
router.addResourceHandler("stats", dynamic_cast<ResourceRouter*>(&mStatsHandler), router.addResourceHandler("stats", dynamic_cast<ResourceRouter*>(&mStatsHandler),
&StatsHandler::handleRequest); &StatsHandler::handleRequest);
#ifdef LIBRESAPI_QT
router.addResourceHandler("settings", dynamic_cast<ResourceRouter*>(&mSettingsHandler), router.addResourceHandler("settings", dynamic_cast<ResourceRouter*>(&mSettingsHandler),
&SettingsHandler::handleRequest); &SettingsHandler::handleRequest);
#endif
} }
PeersHandler mPeersHandler; PeersHandler mPeersHandler;
@ -279,7 +285,10 @@ public:
ApiPluginHandler mApiPluginHandler; ApiPluginHandler mApiPluginHandler;
ChannelsHandler mChannelsHandler; ChannelsHandler mChannelsHandler;
StatsHandler mStatsHandler; StatsHandler mStatsHandler;
#ifdef LIBRESAPI_QT
SettingsHandler mSettingsHandler; SettingsHandler mSettingsHandler;
#endif
}; };
ApiServer::ApiServer(): ApiServer::ApiServer():

View File

@ -3,8 +3,7 @@
TEMPLATE = lib TEMPLATE = lib
CONFIG += staticlib CONFIG += staticlib
CONFIG += create_prl CONFIG += create_prl
CONFIG += qt CONFIG -= qt
QT += core
TARGET = resapi TARGET = resapi
TARGET_PRL = libresapi TARGET_PRL = libresapi
DESTDIR = lib DESTDIR = lib
@ -13,32 +12,32 @@ INCLUDEPATH += ../../libretroshare/src
retroshare_android_service { retroshare_android_service {
win32 { win32 {
OBJECTS_DIR = temp/obj OBJECTS_DIR = temp/obj
LIBS_DIR = $$PWD/../../libs/lib LIBS_DIR = $$PWD/../../libs/lib
LIBS += $$OUT_PWD/../../libretroshare/src/lib/libretroshare.a LIBS += $$OUT_PWD/../../libretroshare/src/lib/libretroshare.a
LIBS += $$OUT_PWD/../../openpgpsdk/src/lib/libops.a LIBS += $$OUT_PWD/../../openpgpsdk/src/lib/libops.a
for(lib, LIB_DIR):LIBS += -L"$$lib" for(lib, LIB_DIR):LIBS += -L"$$lib"
for(bin, BIN_DIR):LIBS += -L"$$bin" for(bin, BIN_DIR):LIBS += -L"$$bin"
LIBS += -lssl -lcrypto -lpthread -lminiupnpc -lz -lws2_32 LIBS += -lssl -lcrypto -lpthread -lminiupnpc -lz -lws2_32
LIBS += -luuid -lole32 -liphlpapi -lcrypt32 -lgdi32 LIBS += -luuid -lole32 -liphlpapi -lcrypt32 -lgdi32
LIBS += -lwinmm 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 DEPENDPATH += . $$INC_DIR
INCLUDEPATH += . $$INC_DIR INCLUDEPATH += . $$INC_DIR
greaterThan(QT_MAJOR_VERSION, 4) { greaterThan(QT_MAJOR_VERSION, 4) {
# Qt 5 # Qt 5
RC_INCLUDEPATH += $$_PRO_FILE_PWD_/../../libretroshare/src RC_INCLUDEPATH += $$_PRO_FILE_PWD_/../../libretroshare/src
} else { } else {
# Qt 4 # Qt 4
QMAKE_RC += --include-dir=$$_PRO_FILE_PWD_/../../libretroshare/src QMAKE_RC += --include-dir=$$_PRO_FILE_PWD_/../../libretroshare/src
} }
} }
DEPENDPATH += . ../../libretroshare/src/ DEPENDPATH += . ../../libretroshare/src/
@ -183,8 +182,7 @@ SOURCES += \
util/ContentTypes.cpp \ util/ContentTypes.cpp \
api/ApiPluginHandler.cpp \ api/ApiPluginHandler.cpp \
api/ChannelsHandler.cpp \ api/ChannelsHandler.cpp \
api/StatsHandler.cpp \ api/StatsHandler.cpp
api/SettingsHandler.cpp
HEADERS += \ HEADERS += \
api/ApiServer.h \ api/ApiServer.h \
@ -211,8 +209,7 @@ HEADERS += \
util/ContentTypes.h \ util/ContentTypes.h \
api/ApiPluginHandler.h \ api/ApiPluginHandler.h \
api/ChannelsHandler.h \ api/ChannelsHandler.h \
api/StatsHandler.h \ api/StatsHandler.h
api/SettingsHandler.h
libresapilocalserver { libresapilocalserver {
CONFIG *= qt CONFIG *= qt
@ -220,3 +217,11 @@ libresapilocalserver {
SOURCES *= api/ApiServerLocal.cpp SOURCES *= api/ApiServerLocal.cpp
HEADERS *= api/ApiServerLocal.h HEADERS *= api/ApiServerLocal.h
} }
qt_dependencies {
CONFIG *= qt
QT *= core
SOURCES += api/SettingsHandler.cpp
HEADERS += api/SettingsHandler.h
}

View File

@ -29,6 +29,11 @@ retroshare_qml_app:CONFIG -= no_retroshare_qml_app
CONFIG *= no_libresapilocalserver CONFIG *= no_libresapilocalserver
libresapilocalserver: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 # To disable libresapi via HTTP (based on libmicrohttpd) append the following
# assignation to qmake command line "CONFIG+=no_libresapihttpserver" # assignation to qmake command line "CONFIG+=no_libresapihttpserver"
CONFIG *= libresapihttpserver CONFIG *= libresapihttpserver
@ -155,6 +160,7 @@ unfinished {
wikipoos:DEFINES *= RS_USE_WIKI wikipoos:DEFINES *= RS_USE_WIKI
rs_gxs:DEFINES *= RS_ENABLE_GXS rs_gxs:DEFINES *= RS_ENABLE_GXS
libresapilocalserver:DEFINES *= LIBRESAPI_LOCAL_SERVER libresapilocalserver:DEFINES *= LIBRESAPI_LOCAL_SERVER
qt_dependencies:DEFINES *= LIBRESAPI_QT
libresapihttpserver:DEFINES *= ENABLE_WEBUI libresapihttpserver:DEFINES *= ENABLE_WEBUI
sqlcipher:DEFINES -= NO_SQLCIPHER sqlcipher:DEFINES -= NO_SQLCIPHER
no_sqlcipher:DEFINES *= NO_SQLCIPHER no_sqlcipher:DEFINES *= NO_SQLCIPHER