mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-01-12 16:09:37 -05:00
WebUI is now optional but enabled by default at compile time
This commit is contained in:
parent
b4a10749f4
commit
fe7de83529
@ -8,11 +8,12 @@ TARGET = resapi
|
||||
TARGET_PRL = libresapi
|
||||
DESTDIR = lib
|
||||
|
||||
CONFIG += libmicrohttpd
|
||||
|
||||
INCLUDEPATH += ../../libretroshare/src
|
||||
|
||||
unix {
|
||||
libresapihttpserver {
|
||||
CONFIG += libmicrohttpd
|
||||
|
||||
unix {
|
||||
|
||||
webui_files.path = "$${DATA_DIR}/webui"
|
||||
webui_files.files = webui/app.js webui/app.css webui/index.html
|
||||
@ -81,9 +82,9 @@ unix {
|
||||
|
||||
|
||||
QMAKE_EXTRA_COMPILERS += create_webfiles_html create_webfiles_js create_webfiles_css
|
||||
}
|
||||
}
|
||||
|
||||
win32{
|
||||
win32 {
|
||||
DEFINES *= WINDOWS_SYS
|
||||
INCLUDEPATH += . $$INC_DIR
|
||||
|
||||
@ -104,9 +105,8 @@ win32{
|
||||
|
||||
# create dummy files
|
||||
system($$MAKE_SRC\\init.bat .)
|
||||
}
|
||||
}
|
||||
|
||||
libmicrohttpd{
|
||||
linux {
|
||||
CONFIG += link_pkgconfig
|
||||
PKGCONFIG *= libmicrohttpd
|
||||
|
@ -29,7 +29,10 @@
|
||||
#include <retroshare/rsdisc.h>
|
||||
#include <retroshare/rspeers.h>
|
||||
#include "settings/rsharesettings.h"
|
||||
|
||||
#ifdef ENABLE_WEBUI
|
||||
#include <microhttpd.h>
|
||||
#endif
|
||||
|
||||
#include <QClipboard>
|
||||
#include <QSysInfo>
|
||||
@ -781,11 +784,13 @@ void AboutDialog::on_copy_button_clicked()
|
||||
RsControl::instance()->getLibraries(libraries);
|
||||
verInfo+=addLibraries("libretroshare", libraries);
|
||||
|
||||
#ifdef ENABLE_WEBUI
|
||||
/* Add version numbers of RetroShare */
|
||||
// Add versions here. Find a better place.
|
||||
libraries.clear();
|
||||
libraries.push_back(RsLibraryInfo("Libmicrohttpd", MHD_get_version()));
|
||||
verInfo+=addLibraries("RetroShare", libraries);
|
||||
#endif // ENABLE_WEBUI
|
||||
|
||||
/* Add version numbers of plugins */
|
||||
if (rsPlugins) {
|
||||
|
@ -24,7 +24,10 @@
|
||||
|
||||
#include <retroshare/rsiface.h>
|
||||
#include <retroshare/rsplugin.h>
|
||||
|
||||
#ifdef ENABLE_WEBUI
|
||||
#include <microhttpd.h>
|
||||
#endif // ENABLE_WEBUI
|
||||
|
||||
#include <QFile>
|
||||
#include <QTextStream>
|
||||
@ -94,11 +97,13 @@ HelpDialog::HelpDialog(QWidget *parent) :
|
||||
RsControl::instance()->getLibraries(libraries);
|
||||
addLibraries(ui->libraryLayout, "libretroshare", libraries);
|
||||
|
||||
#ifdef ENABLE_WEBUI
|
||||
/* Add version numbers of RetroShare */
|
||||
// Add versions here. Find a better place.
|
||||
libraries.clear();
|
||||
libraries.push_back(RsLibraryInfo("Libmicrohttpd", MHD_get_version()));
|
||||
addLibraries(ui->libraryLayout, "RetroShare", libraries);
|
||||
#endif // ENABLE_WEBUI
|
||||
|
||||
/* Add version numbers of plugins */
|
||||
if (rsPlugins) {
|
||||
|
@ -562,7 +562,9 @@ void MainWindow::createTrayIcon()
|
||||
trayMenu->addSeparator();
|
||||
trayMenu->addAction(QIcon(IMAGE_MESSENGER), tr("Open Messenger"), this, SLOT(showMessengerWindow()));
|
||||
trayMenu->addAction(QIcon(IMAGE_MESSAGES), tr("Open Messages"), this, SLOT(showMess()));
|
||||
#ifdef ENABLE_WEBUI
|
||||
trayMenu->addAction(QIcon(":/images/emblem-web.png"), tr("Show web interface"), this, SLOT(showWebinterface()));
|
||||
#endif // ENABLE_WEBUI
|
||||
trayMenu->addAction(QIcon(IMAGE_BWGRAPH), tr("Bandwidth Graph"), _bandwidthGraph, SLOT(showWindow()));
|
||||
trayMenu->addAction(QIcon(IMAGE_DHT), tr("Statistics"), this, SLOT(showStatisticsWindow()));
|
||||
|
||||
@ -1061,10 +1063,12 @@ void MainWindow::showStatisticsWindow()
|
||||
StatisticsWindow::showYourself();
|
||||
}
|
||||
|
||||
#ifdef ENABLE_WEBUI
|
||||
void MainWindow::showWebinterface()
|
||||
{
|
||||
WebuiPage::showWebui();
|
||||
}
|
||||
#endif // ENABLE_WEBUI
|
||||
|
||||
/** Shows Application window */
|
||||
#ifdef UNFINISHED
|
||||
|
@ -211,7 +211,9 @@ private slots:
|
||||
void newRsCollection();
|
||||
void showMessengerWindow();
|
||||
void showStatisticsWindow();
|
||||
#ifdef ENABLE_WEBUI
|
||||
void showWebinterface();
|
||||
#endif
|
||||
//void servicePermission();
|
||||
|
||||
#ifdef UNFINISHED
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
resource_api::ApiServer* WebuiPage::apiServer = 0;
|
||||
resource_api::ApiServerMHD* WebuiPage::apiServerMHD = 0;
|
||||
// TODO: LIBRESAPI_LOCAL_SERVER Move in appropriate place
|
||||
// TODO: LIBRESAPI_LOCAL_SERVER Put indipendent option for libresapilocalserver in appropriate place
|
||||
#ifdef LIBRESAPI_LOCAL_SERVER
|
||||
resource_api::ApiServerLocal* WebuiPage::apiServerLocal = 0;
|
||||
#endif
|
||||
|
@ -152,8 +152,9 @@ RSettingsWin::initStackedWidget()
|
||||
addPage(new AppearancePage());
|
||||
addPage(new SoundPage() );
|
||||
addPage(new ServicePermissionsPage() );
|
||||
#ifdef ENABLE_WEBUI
|
||||
addPage(new WebuiPage() );
|
||||
|
||||
#endif // ENABLE_WEBUI
|
||||
// add widgets from plugins
|
||||
|
||||
for(int i=0;i<rsPlugins->nbPlugins();++i)
|
||||
|
@ -397,13 +397,17 @@ feenableexcept(FE_INVALID | FE_DIVBYZERO);
|
||||
|
||||
notify->enable() ; // enable notification system after GUI creation, to avoid data races in Qt.
|
||||
|
||||
#ifdef ENABLE_WEBUI
|
||||
WebuiPage::checkStartWebui();
|
||||
#endif // ENABLE_WEBUI
|
||||
|
||||
/* dive into the endless loop */
|
||||
int ti = rshare.exec();
|
||||
delete w ;
|
||||
|
||||
#ifdef ENABLE_WEBUI
|
||||
WebuiPage::checkShutdownWebui();
|
||||
#endif // ENABLE_WEBUI
|
||||
|
||||
/* cleanup */
|
||||
ChatDialog::cleanupChat();
|
||||
|
@ -551,8 +551,7 @@ HEADERS += rshare.h \
|
||||
gui/connect/ConnectProgressDialog.h \
|
||||
gui/groups/CreateGroup.h \
|
||||
gui/GetStartedDialog.h \
|
||||
gui/settings/WebuiPage.h \
|
||||
gui/statistics/BWGraph.h \
|
||||
gui/statistics/BWGraph.h \
|
||||
util/RsSyntaxHighlighter.h \
|
||||
util/imageutil.h
|
||||
|
||||
@ -671,7 +670,7 @@ FORMS += gui/StartDialog.ui \
|
||||
gui/statistics/BwCtrlWindow.ui \
|
||||
gui/statistics/RttStatistics.ui \
|
||||
gui/GetStartedDialog.ui \
|
||||
gui/settings/WebuiPage.ui
|
||||
|
||||
|
||||
# gui/ForumsDialog.ui \
|
||||
# gui/forums/CreateForum.ui \
|
||||
@ -854,7 +853,6 @@ SOURCES += main.cpp \
|
||||
gui/settings/ServicePermissionsPage.cpp \
|
||||
gui/settings/AddFileAssociationDialog.cpp \
|
||||
gui/settings/GroupFrameSettingsWidget.cpp \
|
||||
gui/settings/WebuiPage.cpp \
|
||||
gui/statusbar/peerstatus.cpp \
|
||||
gui/statusbar/natstatus.cpp \
|
||||
gui/statusbar/dhtstatus.cpp \
|
||||
@ -1390,3 +1388,9 @@ gxsgui {
|
||||
|
||||
|
||||
}
|
||||
|
||||
libresapihttpserver {
|
||||
HEADERS *= gui/settings/WebuiPage.h
|
||||
SOURCES *= gui/settings/WebuiPage.cpp
|
||||
FORMS *= gui/settings/WebuiPage.ui
|
||||
}
|
||||
|
@ -1,367 +1,365 @@
|
||||
!include("../../retroshare.pri"): error("Could not include file ../../retroshare.pri")
|
||||
|
||||
TEMPLATE = app
|
||||
TARGET = RetroShare06-nogui
|
||||
CONFIG += bitdht
|
||||
#CONFIG += introserver
|
||||
#CONFIG += sshserver
|
||||
# webinterface, requires libmicrohttpd
|
||||
CONFIG += webui
|
||||
CONFIG -= qt xml gui
|
||||
CONFIG += link_prl
|
||||
|
||||
#CONFIG += debug
|
||||
debug {
|
||||
QMAKE_CFLAGS -= -O2
|
||||
QMAKE_CFLAGS += -O0
|
||||
QMAKE_CFLAGS += -g
|
||||
|
||||
QMAKE_CXXFLAGS -= -O2
|
||||
QMAKE_CXXFLAGS += -O0
|
||||
QMAKE_CXXFLAGS += -g
|
||||
}
|
||||
|
||||
################################# Linux ##########################################
|
||||
linux-* {
|
||||
#CONFIG += version_detail_bash_script
|
||||
QMAKE_CXXFLAGS *= -D_FILE_OFFSET_BITS=64
|
||||
|
||||
LIBS *= -rdynamic
|
||||
}
|
||||
|
||||
unix {
|
||||
target.path = "$${BIN_DIR}"
|
||||
INSTALLS += target
|
||||
}
|
||||
|
||||
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 += ../../../../lib/win32-x-g++/libssl.a
|
||||
LIBS += ../../../../lib/win32-x-g++/libcrypto.a
|
||||
LIBS += ../../../../lib/win32-x-g++/libminiupnpc.a
|
||||
LIBS += ../../../../lib/win32-x-g++/libz.a
|
||||
LIBS += -L${HOME}/.wine/drive_c/pthreads/lib -lpthreadGCE2
|
||||
LIBS += -lws2_32 -luuid -lole32 -liphlpapi -lcrypt32 -gdi32
|
||||
LIBS += -lole32 -lwinmm
|
||||
|
||||
RC_FILE = gui/images/retroshare_win.rc
|
||||
|
||||
DEFINES *= WIN32
|
||||
}
|
||||
|
||||
#################################### Windows #####################################
|
||||
|
||||
win32 {
|
||||
CONFIG += console
|
||||
OBJECTS_DIR = temp/obj
|
||||
RCC_DIR = temp/qrc
|
||||
UI_DIR = temp/ui
|
||||
MOC_DIR = temp/moc
|
||||
|
||||
# solve linker warnings because of the order of the libraries
|
||||
QMAKE_LFLAGS += -Wl,--start-group
|
||||
|
||||
CONFIG(debug, debug|release) {
|
||||
} else {
|
||||
# Tell linker to use ASLR protection
|
||||
QMAKE_LFLAGS += -Wl,-dynamicbase
|
||||
# Tell linker to use DEP protection
|
||||
QMAKE_LFLAGS += -Wl,-nxcompat
|
||||
}
|
||||
|
||||
for(lib, LIB_DIR):LIBS += -L"$$lib"
|
||||
LIBS += -lssl -lcrypto -lpthread -lminiupnpc -lz
|
||||
LIBS += -lcrypto -lws2_32 -lgdi32
|
||||
LIBS += -luuid -lole32 -liphlpapi -lcrypt32
|
||||
LIBS += -lole32 -lwinmm
|
||||
|
||||
PROTOCPATH=$$BIN_DIR
|
||||
|
||||
RC_FILE = resources/retroshare_win.rc
|
||||
|
||||
DEFINES *= WINDOWS_SYS _USE_32BIT_TIME_T
|
||||
|
||||
DEPENDPATH += . $$INC_DIR
|
||||
INCLUDEPATH += . $$INC_DIR
|
||||
}
|
||||
|
||||
##################################### MacOS ######################################
|
||||
|
||||
macx {
|
||||
# ENABLE THIS OPTION FOR Univeral Binary BUILD.
|
||||
# CONFIG += ppc x86
|
||||
|
||||
LIBS += -Wl,-search_paths_first
|
||||
LIBS += -lssl -lcrypto -lz
|
||||
for(lib, LIB_DIR):exists($$lib/libminiupnpc.a){ LIBS += $$lib/libminiupnpc.a}
|
||||
LIBS += -framework CoreFoundation
|
||||
LIBS += -framework Security
|
||||
for(lib, LIB_DIR):LIBS += -L"$$lib"
|
||||
for(bin, BIN_DIR):LIBS += -L"$$bin"
|
||||
|
||||
DEPENDPATH += . $$INC_DIR
|
||||
INCLUDEPATH += . $$INC_DIR
|
||||
|
||||
sshserver {
|
||||
LIBS += -L../../../lib
|
||||
#LIBS += -L../../../lib/libssh-0.6.0
|
||||
}
|
||||
|
||||
QMAKE_CXXFLAGS *= -Dfseeko64=fseeko -Dftello64=ftello -Dstat64=stat -Dstatvfs64=statvfs -Dfopen64=fopen
|
||||
|
||||
}
|
||||
|
||||
##################################### FreeBSD ######################################
|
||||
|
||||
freebsd-* {
|
||||
INCLUDEPATH *= /usr/local/include/gpgme
|
||||
LIBS *= -lssl
|
||||
LIBS *= -lgpgme
|
||||
LIBS *= -lupnp
|
||||
LIBS *= -lgnome-keyring
|
||||
}
|
||||
|
||||
##################################### OpenBSD ######################################
|
||||
|
||||
openbsd-* {
|
||||
INCLUDEPATH *= /usr/local/include
|
||||
QMAKE_CXXFLAGS *= -Dfseeko64=fseeko -Dftello64=ftello -Dstat64=stat -Dstatvfs64=statvfs -Dfopen64=fopen
|
||||
LIBS *= -lssl -lcrypto
|
||||
LIBS *= -lgpgme
|
||||
LIBS *= -lupnp
|
||||
LIBS *= -lgnome-keyring
|
||||
LIBS *= -rdynamic
|
||||
}
|
||||
|
||||
##################################### Haiku ######################################
|
||||
|
||||
haiku-* {
|
||||
QMAKE_CXXFLAGS *= -D_BSD_SOURCE
|
||||
|
||||
PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a
|
||||
PRE_TARGETDEPS *= ../../openpgpsdk/src/lib/libops.a
|
||||
|
||||
LIBS *= ../../libretroshare/src/lib/libretroshare.a
|
||||
LIBS *= ../../openpgpsdk/src/lib/libops.a -lbz2 -lbsd
|
||||
LIBS *= -lssl -lcrypto -lnetwork
|
||||
LIBS *= -lgpgme
|
||||
LIBS *= -lupnp
|
||||
LIBS *= -lz
|
||||
LIBS *= -lixml
|
||||
|
||||
LIBS += ../../supportlibs/pegmarkdown/lib/libpegmarkdown.a
|
||||
LIBS += -lsqlite3
|
||||
|
||||
}
|
||||
|
||||
############################## Common stuff ######################################
|
||||
|
||||
DEPENDPATH += . ../../libretroshare/src
|
||||
INCLUDEPATH += . ../../libretroshare/src
|
||||
|
||||
PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a
|
||||
LIBS *= ../../libretroshare/src/lib/libretroshare.a
|
||||
|
||||
# Input
|
||||
HEADERS += notifytxt.h
|
||||
SOURCES += notifytxt.cc \
|
||||
retroshare.cc
|
||||
|
||||
introserver {
|
||||
HEADERS += introserver.h
|
||||
SOURCES += introserver.cc
|
||||
DEFINES *= RS_INTRO_SERVER
|
||||
}
|
||||
|
||||
webui {
|
||||
DEFINES *= ENABLE_WEBUI
|
||||
PRE_TARGETDEPS *= ../../libresapi/src/lib/libresapi.a
|
||||
LIBS += ../../libresapi/src/lib/libresapi.a
|
||||
DEPENDPATH += ../../libresapi/src
|
||||
INCLUDEPATH += ../../libresapi/src
|
||||
HEADERS += \
|
||||
TerminalApiClient.h
|
||||
SOURCES += \
|
||||
TerminalApiClient.cpp
|
||||
}
|
||||
|
||||
sshserver {
|
||||
|
||||
# This Requires libssh-0.5.* to compile.
|
||||
# Please use this path below.
|
||||
# (You can modify it locally if required - but dont commit it!)
|
||||
|
||||
#LIBSSH_DIR = ../../../lib/libssh-0.5.2
|
||||
LIBSSH_DIR = ../../../libssh-0.6.0rc1
|
||||
|
||||
#
|
||||
# Use the following commend to generate a Server RSA Key.
|
||||
# Key should be in current directory - when run/
|
||||
# ssh-keygen -t rsa -f rs_ssh_host_rsa_key
|
||||
#
|
||||
# You can connect from a standard ssh, eg: ssh -p 7022 127.0.0.1
|
||||
#
|
||||
# The Menu system is available from the command-line (-T) and SSH (-S)
|
||||
# if it get covered by debug gunk, just press <return> to refresh.
|
||||
#
|
||||
# ./retroshare-nogui -h provides some more instructions.
|
||||
#
|
||||
|
||||
win32 {
|
||||
DEFINES *= LIBSSH_STATIC
|
||||
}
|
||||
|
||||
DEPENDPATH += $$LIBSSH_DIR/include/
|
||||
INCLUDEPATH += $$LIBSSH_DIR/include/
|
||||
|
||||
win32 {
|
||||
LIBS += -lssh
|
||||
LIBS += -lssh_threads
|
||||
} else {
|
||||
SSH_OK = $$system(pkg-config --atleast-version 0.5.4 libssh && echo yes)
|
||||
isEmpty(SSH_OK) {
|
||||
exists($$LIBSSH_DIR/build/src/libssh.a):exists($$LIBSSH_DIR/build/src/threads/libssh_threads.a) {
|
||||
LIBS += $$LIBSSH_DIR/build/src/libssh.a
|
||||
LIBS += $$LIBSSH_DIR/build/src/threads/libssh_threads.a
|
||||
}
|
||||
else {
|
||||
! exists($$LIBSSH_DIR/build/src/libssh.a):message($$LIBSSH_DIR/build/src/libssh.a does not exist)
|
||||
! exists($$LIBSSH_DIR/build/src/threads/libssh_threads.a):message($$LIBSSH_DIR/build/src/threads/libssh_threads.a does not exist)
|
||||
message(You need to download and compile libssh)
|
||||
message(See http://sourceforge.net/p/retroshare/code/6163/tree/trunk/)
|
||||
}
|
||||
} else {
|
||||
LIBS += -lssh
|
||||
LIBS += -lssh_threads
|
||||
}
|
||||
}
|
||||
|
||||
HEADERS += ssh/rssshd.h
|
||||
SOURCES += ssh/rssshd.cc
|
||||
|
||||
# For the Menu System
|
||||
HEADERS += menu/menu.h \
|
||||
menu/menus.h \
|
||||
menu/stdiocomms.h \
|
||||
|
||||
SOURCES += menu/menu.cc \
|
||||
menu/menus.cc \
|
||||
menu/stdiocomms.cc \
|
||||
|
||||
# For the RPC System
|
||||
HEADERS += rpc/rpc.h \
|
||||
rpc/rpcserver.h \
|
||||
rpc/rpcsetup.h \
|
||||
rpc/rpcecho.h \
|
||||
rpcsystem.h \
|
||||
|
||||
SOURCES += rpc/rpc.cc \
|
||||
rpc/rpcserver.cc \
|
||||
rpc/rpcsetup.cc \
|
||||
rpc/rpcecho.cc \
|
||||
|
||||
# Actual protocol files to go here...
|
||||
#HEADERS += rpc/proto/rpcecho.h \
|
||||
|
||||
#SOURCES += rpc/proto/rpcecho.cc \
|
||||
|
||||
DEFINES *= RS_SSH_SERVER
|
||||
|
||||
# Include Protobuf classes.
|
||||
CONFIG += protorpc
|
||||
}
|
||||
|
||||
protorpc {
|
||||
# Proto Services
|
||||
PROTOS = core.proto peers.proto system.proto chat.proto search.proto files.proto stream.proto
|
||||
DESTPATH = $$PWD/rpc/proto/gencc
|
||||
PROTOPATH = $$PWD/../../rsctrl/src/definition
|
||||
CMD = echo Building protobuf files
|
||||
for(pf, PROTOS):CMD += && $${PROTOCPATH}protoc --cpp_out=$${DESTPATH} --proto_path=$${PROTOPATH} $${PROTOPATH}/$${pf}
|
||||
protobuf_gen.commands = $${CMD}
|
||||
QMAKE_EXTRA_TARGETS += protobuf_gen
|
||||
PRE_TARGETDEPS += protobuf_gen
|
||||
|
||||
HEADERS += rpc/proto/rpcprotopeers.h \
|
||||
rpc/proto/rpcprotosystem.h \
|
||||
rpc/proto/rpcprotochat.h \
|
||||
rpc/proto/rpcprotosearch.h \
|
||||
rpc/proto/rpcprotofiles.h \
|
||||
rpc/proto/rpcprotostream.h \
|
||||
rpc/proto/rpcprotoutils.h \
|
||||
|
||||
SOURCES += rpc/proto/rpcprotopeers.cc \
|
||||
rpc/proto/rpcprotosystem.cc \
|
||||
rpc/proto/rpcprotochat.cc \
|
||||
rpc/proto/rpcprotosearch.cc \
|
||||
rpc/proto/rpcprotofiles.cc \
|
||||
rpc/proto/rpcprotostream.cc \
|
||||
rpc/proto/rpcprotoutils.cc \
|
||||
|
||||
# Offical Generated Code (protobuf 2.4.1)
|
||||
HEADERS += rpc/proto/gencc/core.pb.h \
|
||||
rpc/proto/gencc/peers.pb.h \
|
||||
rpc/proto/gencc/system.pb.h \
|
||||
rpc/proto/gencc/chat.pb.h \
|
||||
rpc/proto/gencc/search.pb.h \
|
||||
rpc/proto/gencc/files.pb.h \
|
||||
rpc/proto/gencc/stream.pb.h \
|
||||
|
||||
SOURCES += rpc/proto/gencc/core.pb.cc \
|
||||
rpc/proto/gencc/peers.pb.cc \
|
||||
rpc/proto/gencc/system.pb.cc \
|
||||
rpc/proto/gencc/chat.pb.cc \
|
||||
rpc/proto/gencc/search.pb.cc \
|
||||
rpc/proto/gencc/files.pb.cc \
|
||||
rpc/proto/gencc/stream.pb.cc \
|
||||
|
||||
# Generated ProtoBuf Code the RPC System
|
||||
# If you are developing, or have a different version of protobuf
|
||||
# you can use these ones (run make inside rsctrl/src/ to generate)
|
||||
#HEADERS += ../../rsctrl/src/gencc/core.pb.h \
|
||||
# ../../rsctrl/src/gencc/peers.pb.h \
|
||||
# ../../rsctrl/src/gencc/system.pb.h \
|
||||
# ../../rsctrl/src/gencc/chat.pb.h \
|
||||
# ../../rsctrl/src/gencc/search.pb.h \
|
||||
# ../../rsctrl/src/gencc/files.pb.h \
|
||||
# ../../rsctrl/src/gencc/stream.pb.h \
|
||||
|
||||
#SOURCES += ../../rsctrl/src/gencc/core.pb.cc \
|
||||
# ../../rsctrl/src/gencc/peers.pb.cc \
|
||||
# ../../rsctrl/src/gencc/system.pb.cc \
|
||||
# ../../rsctrl/src/gencc/chat.pb.cc \
|
||||
# ../../rsctrl/src/gencc/search.pb.cc \
|
||||
# ../../rsctrl/src/gencc/files.pb.cc \
|
||||
# ../../rsctrl/src/gencc/stream.pb.cc \
|
||||
|
||||
DEPENDPATH *= rpc/proto/gencc
|
||||
INCLUDEPATH *= rpc/proto/gencc
|
||||
|
||||
!win32 {
|
||||
# unrecognized option
|
||||
QMAKE_CFLAGS += -pthread
|
||||
QMAKE_CXXFLAGS += -pthread
|
||||
}
|
||||
LIBS += -lprotobuf -lpthread
|
||||
|
||||
win32 {
|
||||
DEPENDPATH += $$LIBS_DIR/include/protobuf
|
||||
INCLUDEPATH += $$LIBS_DIR/include/protobuf
|
||||
}
|
||||
|
||||
macx {
|
||||
PROTOPATH = ../../../protobuf-2.4.1
|
||||
INCLUDEPATH += $${PROTOPATH}/src
|
||||
}
|
||||
}
|
||||
!include("../../retroshare.pri"): error("Could not include file ../../retroshare.pri")
|
||||
|
||||
TEMPLATE = app
|
||||
TARGET = RetroShare06-nogui
|
||||
CONFIG += bitdht
|
||||
#CONFIG += introserver
|
||||
#CONFIG += sshserver
|
||||
CONFIG -= qt xml gui
|
||||
CONFIG += link_prl
|
||||
|
||||
#CONFIG += debug
|
||||
debug {
|
||||
QMAKE_CFLAGS -= -O2
|
||||
QMAKE_CFLAGS += -O0
|
||||
QMAKE_CFLAGS += -g
|
||||
|
||||
QMAKE_CXXFLAGS -= -O2
|
||||
QMAKE_CXXFLAGS += -O0
|
||||
QMAKE_CXXFLAGS += -g
|
||||
}
|
||||
|
||||
################################# Linux ##########################################
|
||||
linux-* {
|
||||
#CONFIG += version_detail_bash_script
|
||||
QMAKE_CXXFLAGS *= -D_FILE_OFFSET_BITS=64
|
||||
|
||||
LIBS *= -rdynamic
|
||||
}
|
||||
|
||||
unix {
|
||||
target.path = "$${BIN_DIR}"
|
||||
INSTALLS += target
|
||||
}
|
||||
|
||||
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 += ../../../../lib/win32-x-g++/libssl.a
|
||||
LIBS += ../../../../lib/win32-x-g++/libcrypto.a
|
||||
LIBS += ../../../../lib/win32-x-g++/libminiupnpc.a
|
||||
LIBS += ../../../../lib/win32-x-g++/libz.a
|
||||
LIBS += -L${HOME}/.wine/drive_c/pthreads/lib -lpthreadGCE2
|
||||
LIBS += -lws2_32 -luuid -lole32 -liphlpapi -lcrypt32 -gdi32
|
||||
LIBS += -lole32 -lwinmm
|
||||
|
||||
RC_FILE = gui/images/retroshare_win.rc
|
||||
|
||||
DEFINES *= WIN32
|
||||
}
|
||||
|
||||
#################################### Windows #####################################
|
||||
|
||||
win32 {
|
||||
CONFIG += console
|
||||
OBJECTS_DIR = temp/obj
|
||||
RCC_DIR = temp/qrc
|
||||
UI_DIR = temp/ui
|
||||
MOC_DIR = temp/moc
|
||||
|
||||
# solve linker warnings because of the order of the libraries
|
||||
QMAKE_LFLAGS += -Wl,--start-group
|
||||
|
||||
CONFIG(debug, debug|release) {
|
||||
} else {
|
||||
# Tell linker to use ASLR protection
|
||||
QMAKE_LFLAGS += -Wl,-dynamicbase
|
||||
# Tell linker to use DEP protection
|
||||
QMAKE_LFLAGS += -Wl,-nxcompat
|
||||
}
|
||||
|
||||
for(lib, LIB_DIR):LIBS += -L"$$lib"
|
||||
LIBS += -lssl -lcrypto -lpthread -lminiupnpc -lz
|
||||
LIBS += -lcrypto -lws2_32 -lgdi32
|
||||
LIBS += -luuid -lole32 -liphlpapi -lcrypt32
|
||||
LIBS += -lole32 -lwinmm
|
||||
|
||||
PROTOCPATH=$$BIN_DIR
|
||||
|
||||
RC_FILE = resources/retroshare_win.rc
|
||||
|
||||
DEFINES *= WINDOWS_SYS _USE_32BIT_TIME_T
|
||||
|
||||
DEPENDPATH += . $$INC_DIR
|
||||
INCLUDEPATH += . $$INC_DIR
|
||||
}
|
||||
|
||||
##################################### MacOS ######################################
|
||||
|
||||
macx {
|
||||
# ENABLE THIS OPTION FOR Univeral Binary BUILD.
|
||||
# CONFIG += ppc x86
|
||||
|
||||
LIBS += -Wl,-search_paths_first
|
||||
LIBS += -lssl -lcrypto -lz
|
||||
for(lib, LIB_DIR):exists($$lib/libminiupnpc.a){ LIBS += $$lib/libminiupnpc.a}
|
||||
LIBS += -framework CoreFoundation
|
||||
LIBS += -framework Security
|
||||
for(lib, LIB_DIR):LIBS += -L"$$lib"
|
||||
for(bin, BIN_DIR):LIBS += -L"$$bin"
|
||||
|
||||
DEPENDPATH += . $$INC_DIR
|
||||
INCLUDEPATH += . $$INC_DIR
|
||||
|
||||
sshserver {
|
||||
LIBS += -L../../../lib
|
||||
#LIBS += -L../../../lib/libssh-0.6.0
|
||||
}
|
||||
|
||||
QMAKE_CXXFLAGS *= -Dfseeko64=fseeko -Dftello64=ftello -Dstat64=stat -Dstatvfs64=statvfs -Dfopen64=fopen
|
||||
|
||||
}
|
||||
|
||||
##################################### FreeBSD ######################################
|
||||
|
||||
freebsd-* {
|
||||
INCLUDEPATH *= /usr/local/include/gpgme
|
||||
LIBS *= -lssl
|
||||
LIBS *= -lgpgme
|
||||
LIBS *= -lupnp
|
||||
LIBS *= -lgnome-keyring
|
||||
}
|
||||
|
||||
##################################### OpenBSD ######################################
|
||||
|
||||
openbsd-* {
|
||||
INCLUDEPATH *= /usr/local/include
|
||||
QMAKE_CXXFLAGS *= -Dfseeko64=fseeko -Dftello64=ftello -Dstat64=stat -Dstatvfs64=statvfs -Dfopen64=fopen
|
||||
LIBS *= -lssl -lcrypto
|
||||
LIBS *= -lgpgme
|
||||
LIBS *= -lupnp
|
||||
LIBS *= -lgnome-keyring
|
||||
LIBS *= -rdynamic
|
||||
}
|
||||
|
||||
##################################### Haiku ######################################
|
||||
|
||||
haiku-* {
|
||||
QMAKE_CXXFLAGS *= -D_BSD_SOURCE
|
||||
|
||||
PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a
|
||||
PRE_TARGETDEPS *= ../../openpgpsdk/src/lib/libops.a
|
||||
|
||||
LIBS *= ../../libretroshare/src/lib/libretroshare.a
|
||||
LIBS *= ../../openpgpsdk/src/lib/libops.a -lbz2 -lbsd
|
||||
LIBS *= -lssl -lcrypto -lnetwork
|
||||
LIBS *= -lgpgme
|
||||
LIBS *= -lupnp
|
||||
LIBS *= -lz
|
||||
LIBS *= -lixml
|
||||
|
||||
LIBS += ../../supportlibs/pegmarkdown/lib/libpegmarkdown.a
|
||||
LIBS += -lsqlite3
|
||||
|
||||
}
|
||||
|
||||
############################## Common stuff ######################################
|
||||
|
||||
DEPENDPATH += . ../../libretroshare/src
|
||||
INCLUDEPATH += . ../../libretroshare/src
|
||||
|
||||
PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a
|
||||
LIBS *= ../../libretroshare/src/lib/libretroshare.a
|
||||
|
||||
# Input
|
||||
HEADERS += notifytxt.h
|
||||
SOURCES += notifytxt.cc \
|
||||
retroshare.cc
|
||||
|
||||
introserver {
|
||||
HEADERS += introserver.h
|
||||
SOURCES += introserver.cc
|
||||
DEFINES *= RS_INTRO_SERVER
|
||||
}
|
||||
|
||||
libresapihttpserver {
|
||||
DEFINES *= ENABLE_WEBUI
|
||||
PRE_TARGETDEPS *= ../../libresapi/src/lib/libresapi.a
|
||||
LIBS += ../../libresapi/src/lib/libresapi.a
|
||||
DEPENDPATH += ../../libresapi/src
|
||||
INCLUDEPATH += ../../libresapi/src
|
||||
HEADERS += \
|
||||
TerminalApiClient.h
|
||||
SOURCES += \
|
||||
TerminalApiClient.cpp
|
||||
}
|
||||
|
||||
sshserver {
|
||||
|
||||
# This Requires libssh-0.5.* to compile.
|
||||
# Please use this path below.
|
||||
# (You can modify it locally if required - but dont commit it!)
|
||||
|
||||
#LIBSSH_DIR = ../../../lib/libssh-0.5.2
|
||||
LIBSSH_DIR = ../../../libssh-0.6.0rc1
|
||||
|
||||
#
|
||||
# Use the following commend to generate a Server RSA Key.
|
||||
# Key should be in current directory - when run/
|
||||
# ssh-keygen -t rsa -f rs_ssh_host_rsa_key
|
||||
#
|
||||
# You can connect from a standard ssh, eg: ssh -p 7022 127.0.0.1
|
||||
#
|
||||
# The Menu system is available from the command-line (-T) and SSH (-S)
|
||||
# if it get covered by debug gunk, just press <return> to refresh.
|
||||
#
|
||||
# ./retroshare-nogui -h provides some more instructions.
|
||||
#
|
||||
|
||||
win32 {
|
||||
DEFINES *= LIBSSH_STATIC
|
||||
}
|
||||
|
||||
DEPENDPATH += $$LIBSSH_DIR/include/
|
||||
INCLUDEPATH += $$LIBSSH_DIR/include/
|
||||
|
||||
win32 {
|
||||
LIBS += -lssh
|
||||
LIBS += -lssh_threads
|
||||
} else {
|
||||
SSH_OK = $$system(pkg-config --atleast-version 0.5.4 libssh && echo yes)
|
||||
isEmpty(SSH_OK) {
|
||||
exists($$LIBSSH_DIR/build/src/libssh.a):exists($$LIBSSH_DIR/build/src/threads/libssh_threads.a) {
|
||||
LIBS += $$LIBSSH_DIR/build/src/libssh.a
|
||||
LIBS += $$LIBSSH_DIR/build/src/threads/libssh_threads.a
|
||||
}
|
||||
else {
|
||||
! exists($$LIBSSH_DIR/build/src/libssh.a):message($$LIBSSH_DIR/build/src/libssh.a does not exist)
|
||||
! exists($$LIBSSH_DIR/build/src/threads/libssh_threads.a):message($$LIBSSH_DIR/build/src/threads/libssh_threads.a does not exist)
|
||||
message(You need to download and compile libssh)
|
||||
message(See http://sourceforge.net/p/retroshare/code/6163/tree/trunk/)
|
||||
}
|
||||
} else {
|
||||
LIBS += -lssh
|
||||
LIBS += -lssh_threads
|
||||
}
|
||||
}
|
||||
|
||||
HEADERS += ssh/rssshd.h
|
||||
SOURCES += ssh/rssshd.cc
|
||||
|
||||
# For the Menu System
|
||||
HEADERS += menu/menu.h \
|
||||
menu/menus.h \
|
||||
menu/stdiocomms.h \
|
||||
|
||||
SOURCES += menu/menu.cc \
|
||||
menu/menus.cc \
|
||||
menu/stdiocomms.cc \
|
||||
|
||||
# For the RPC System
|
||||
HEADERS += rpc/rpc.h \
|
||||
rpc/rpcserver.h \
|
||||
rpc/rpcsetup.h \
|
||||
rpc/rpcecho.h \
|
||||
rpcsystem.h \
|
||||
|
||||
SOURCES += rpc/rpc.cc \
|
||||
rpc/rpcserver.cc \
|
||||
rpc/rpcsetup.cc \
|
||||
rpc/rpcecho.cc \
|
||||
|
||||
# Actual protocol files to go here...
|
||||
#HEADERS += rpc/proto/rpcecho.h \
|
||||
|
||||
#SOURCES += rpc/proto/rpcecho.cc \
|
||||
|
||||
DEFINES *= RS_SSH_SERVER
|
||||
|
||||
# Include Protobuf classes.
|
||||
CONFIG += protorpc
|
||||
}
|
||||
|
||||
protorpc {
|
||||
# Proto Services
|
||||
PROTOS = core.proto peers.proto system.proto chat.proto search.proto files.proto stream.proto
|
||||
DESTPATH = $$PWD/rpc/proto/gencc
|
||||
PROTOPATH = $$PWD/../../rsctrl/src/definition
|
||||
CMD = echo Building protobuf files
|
||||
for(pf, PROTOS):CMD += && $${PROTOCPATH}protoc --cpp_out=$${DESTPATH} --proto_path=$${PROTOPATH} $${PROTOPATH}/$${pf}
|
||||
protobuf_gen.commands = $${CMD}
|
||||
QMAKE_EXTRA_TARGETS += protobuf_gen
|
||||
PRE_TARGETDEPS += protobuf_gen
|
||||
|
||||
HEADERS += rpc/proto/rpcprotopeers.h \
|
||||
rpc/proto/rpcprotosystem.h \
|
||||
rpc/proto/rpcprotochat.h \
|
||||
rpc/proto/rpcprotosearch.h \
|
||||
rpc/proto/rpcprotofiles.h \
|
||||
rpc/proto/rpcprotostream.h \
|
||||
rpc/proto/rpcprotoutils.h \
|
||||
|
||||
SOURCES += rpc/proto/rpcprotopeers.cc \
|
||||
rpc/proto/rpcprotosystem.cc \
|
||||
rpc/proto/rpcprotochat.cc \
|
||||
rpc/proto/rpcprotosearch.cc \
|
||||
rpc/proto/rpcprotofiles.cc \
|
||||
rpc/proto/rpcprotostream.cc \
|
||||
rpc/proto/rpcprotoutils.cc \
|
||||
|
||||
# Offical Generated Code (protobuf 2.4.1)
|
||||
HEADERS += rpc/proto/gencc/core.pb.h \
|
||||
rpc/proto/gencc/peers.pb.h \
|
||||
rpc/proto/gencc/system.pb.h \
|
||||
rpc/proto/gencc/chat.pb.h \
|
||||
rpc/proto/gencc/search.pb.h \
|
||||
rpc/proto/gencc/files.pb.h \
|
||||
rpc/proto/gencc/stream.pb.h \
|
||||
|
||||
SOURCES += rpc/proto/gencc/core.pb.cc \
|
||||
rpc/proto/gencc/peers.pb.cc \
|
||||
rpc/proto/gencc/system.pb.cc \
|
||||
rpc/proto/gencc/chat.pb.cc \
|
||||
rpc/proto/gencc/search.pb.cc \
|
||||
rpc/proto/gencc/files.pb.cc \
|
||||
rpc/proto/gencc/stream.pb.cc \
|
||||
|
||||
# Generated ProtoBuf Code the RPC System
|
||||
# If you are developing, or have a different version of protobuf
|
||||
# you can use these ones (run make inside rsctrl/src/ to generate)
|
||||
#HEADERS += ../../rsctrl/src/gencc/core.pb.h \
|
||||
# ../../rsctrl/src/gencc/peers.pb.h \
|
||||
# ../../rsctrl/src/gencc/system.pb.h \
|
||||
# ../../rsctrl/src/gencc/chat.pb.h \
|
||||
# ../../rsctrl/src/gencc/search.pb.h \
|
||||
# ../../rsctrl/src/gencc/files.pb.h \
|
||||
# ../../rsctrl/src/gencc/stream.pb.h \
|
||||
|
||||
#SOURCES += ../../rsctrl/src/gencc/core.pb.cc \
|
||||
# ../../rsctrl/src/gencc/peers.pb.cc \
|
||||
# ../../rsctrl/src/gencc/system.pb.cc \
|
||||
# ../../rsctrl/src/gencc/chat.pb.cc \
|
||||
# ../../rsctrl/src/gencc/search.pb.cc \
|
||||
# ../../rsctrl/src/gencc/files.pb.cc \
|
||||
# ../../rsctrl/src/gencc/stream.pb.cc \
|
||||
|
||||
DEPENDPATH *= rpc/proto/gencc
|
||||
INCLUDEPATH *= rpc/proto/gencc
|
||||
|
||||
!win32 {
|
||||
# unrecognized option
|
||||
QMAKE_CFLAGS += -pthread
|
||||
QMAKE_CXXFLAGS += -pthread
|
||||
}
|
||||
LIBS += -lprotobuf -lpthread
|
||||
|
||||
win32 {
|
||||
DEPENDPATH += $$LIBS_DIR/include/protobuf
|
||||
INCLUDEPATH += $$LIBS_DIR/include/protobuf
|
||||
}
|
||||
|
||||
macx {
|
||||
PROTOPATH = ../../../protobuf-2.4.1
|
||||
INCLUDEPATH += $${PROTOPATH}/src
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,9 @@
|
||||
# {,un}comment the following line
|
||||
#CONFIG *= libresapilocalserver
|
||||
|
||||
# To {dis,en}able libresapi via HTTP (libmicrohttpd) {,un}comment the following line
|
||||
CONFIG *= libresapihttpserver
|
||||
|
||||
# Gxs is always enabled now.
|
||||
DEFINES *= RS_ENABLE_GXS
|
||||
|
||||
@ -14,6 +17,25 @@ unix {
|
||||
isEmpty(PLUGIN_DIR) { PLUGIN_DIR = "$${LIB_DIR}/retroshare/extensions6" }
|
||||
}
|
||||
|
||||
android-g++ {
|
||||
DEFINES *= NO_SQLCIPHER
|
||||
DEFINES *= "fopen64=fopen"
|
||||
DEFINES *= "fseeko64=fseeko"
|
||||
DEFINES *= "ftello64=ftello"
|
||||
INCLUDEPATH *= $$NDK_TOOLCHAIN_PATH/sysroot/usr/include/
|
||||
LIBS *= -L$$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/
|
||||
LIBS *= -lssl -lcrypto -lsqlite3 -lupnp -lixml
|
||||
ANDROID_EXTRA_LIBS *= $$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/libcrypto.so
|
||||
ANDROID_EXTRA_LIBS *= $$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/libssl.so
|
||||
ANDROID_EXTRA_LIBS *= $$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/libbz2.so
|
||||
ANDROID_EXTRA_LIBS *= $$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/libsqlite3.so
|
||||
ANDROID_EXTRA_LIBS *= $$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/libupnp.so
|
||||
ANDROID_EXTRA_LIBS *= $$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/libixml.so
|
||||
message(NDK_TOOLCHAIN_PATH: $$NDK_TOOLCHAIN_PATH)
|
||||
message(LIBS: $$LIBS)
|
||||
message(ANDROID_EXTRA_LIBS: $$ANDROID_EXTRA_LIBS)
|
||||
}
|
||||
|
||||
win32 {
|
||||
message(***retroshare.pri:Win32)
|
||||
exists($$PWD/../libs) {
|
||||
@ -68,3 +90,4 @@ unfinished {
|
||||
wikipoos:DEFINES *= RS_USE_WIKI
|
||||
|
||||
libresapilocalserver:DEFINES *= LIBRESAPI_LOCAL_SERVER
|
||||
libresapihttpserver::DEFINES *= ENABLE_WEBUI
|
||||
|
Loading…
Reference in New Issue
Block a user