mirror of
https://github.com/RetroShare/RetroShare.git
synced 2026-09-14 11:06:01 +05:00
build(cmake): implement modular build system and align service dependencies
This commit is contained in:
parent
6b5947b73e
commit
4bd02cf0bb
7
plugins/CMakeLists.txt
Normal file
7
plugins/CMakeLists.txt
Normal file
@ -0,0 +1,7 @@
|
||||
# plugins/CMakeLists.txt
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
|
||||
if(RS_GUI)
|
||||
add_subdirectory(FeedReader)
|
||||
add_subdirectory(VOIP)
|
||||
endif()
|
||||
129
plugins/FeedReader/CMakeLists.txt
Normal file
129
plugins/FeedReader/CMakeLists.txt
Normal file
@ -0,0 +1,129 @@
|
||||
# plugins/FeedReader/CMakeLists.txt
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(FeedReaderPlugin)
|
||||
|
||||
# --- Dependencies ---
|
||||
find_package(CURL REQUIRED)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(LIBXML2 REQUIRED libxml-2.0)
|
||||
pkg_check_modules(LIBXSLT REQUIRED libxslt)
|
||||
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
|
||||
# --- Sources ---
|
||||
set(FEEDREADER_SOURCES
|
||||
FeedReaderPlugin.cpp
|
||||
services/p3FeedReader.cc
|
||||
services/p3FeedReaderThread.cc
|
||||
services/rsFeedReaderItems.cc
|
||||
gui/FeedReaderDialog.cpp
|
||||
gui/FeedReaderMessageWidget.cpp
|
||||
gui/AddFeedDialog.cpp
|
||||
gui/PreviewFeedDialog.cpp
|
||||
gui/FeedReaderNotify.cpp
|
||||
gui/FeedReaderConfig.cpp
|
||||
gui/FeedReaderStringDefs.cpp
|
||||
gui/FeedReaderFeedNotify.cpp
|
||||
gui/FeedReaderUserNotify.cpp
|
||||
gui/FeedReaderFeedItem.cpp
|
||||
gui/FeedTreeWidget.cpp
|
||||
gui/ProxyWidget.cpp
|
||||
util/CURLWrapper.cpp
|
||||
util/XMLWrapper.cpp
|
||||
util/HTMLWrapper.cpp
|
||||
util/XPathWrapper.cpp
|
||||
)
|
||||
|
||||
set(FEEDREADER_FORMS
|
||||
gui/FeedReaderDialog.ui
|
||||
gui/FeedReaderMessageWidget.ui
|
||||
gui/AddFeedDialog.ui
|
||||
gui/PreviewFeedDialog.ui
|
||||
gui/FeedReaderConfig.ui
|
||||
gui/FeedReaderFeedItem.ui
|
||||
gui/ProxyWidget.ui
|
||||
)
|
||||
|
||||
set(FEEDREADER_RESOURCES
|
||||
gui/FeedReader_images.qrc
|
||||
lang/FeedReader_lang.qrc
|
||||
qss/FeedReader_qss.qrc
|
||||
)
|
||||
|
||||
# --- Translations (.ts -> .qm) ---
|
||||
file(GLOB TS_FILES "lang/*.ts")
|
||||
if(Qt5LinguistTools_FOUND)
|
||||
qt5_add_translation(QM_FILES ${TS_FILES})
|
||||
else()
|
||||
find_program(LRELEASE_EXECUTABLE NAMES lrelease-qt5 lrelease)
|
||||
foreach(ts_file ${TS_FILES})
|
||||
get_filename_component(ts_name ${ts_file} NAME_WE)
|
||||
set(qm_src_file "${CMAKE_CURRENT_SOURCE_DIR}/lang/${ts_name}.qm")
|
||||
set(qm_bin_file "${CMAKE_CURRENT_BINARY_DIR}/${ts_name}.qm")
|
||||
|
||||
if(EXISTS ${qm_src_file})
|
||||
list(APPEND QM_FILES ${qm_src_file})
|
||||
elseif(LRELEASE_EXECUTABLE)
|
||||
add_custom_command(
|
||||
OUTPUT ${qm_bin_file}
|
||||
COMMAND ${LRELEASE_EXECUTABLE} ${ts_file} -qm ${qm_bin_file}
|
||||
DEPENDS ${ts_file}
|
||||
VERBATIM
|
||||
)
|
||||
list(APPEND QM_FILES ${qm_bin_file})
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
# --- CTarget ---
|
||||
add_library(FeedReader MODULE
|
||||
${FEEDREADER_SOURCES}
|
||||
${FEEDREADER_FORMS}
|
||||
${FEEDREADER_RESOURCES}
|
||||
${QM_FILES}
|
||||
)
|
||||
|
||||
set_target_properties(FeedReader PROPERTIES
|
||||
PREFIX "lib"
|
||||
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/plugins"
|
||||
AUTOUIC_SEARCH_PATHS "${CMAKE_CURRENT_SOURCE_DIR}/gui"
|
||||
)
|
||||
|
||||
# --- Links ---
|
||||
if(WIN32)
|
||||
target_link_libraries(FeedReader PRIVATE retroshare)
|
||||
endif()
|
||||
|
||||
target_link_libraries(FeedReader PRIVATE
|
||||
Qt5::Core
|
||||
Qt5::Widgets
|
||||
Qt5::Xml
|
||||
Qt5::Network
|
||||
CURL::libcurl
|
||||
${LIBXML2_LIBRARIES}
|
||||
${LIBXSLT_LIBRARIES}
|
||||
)
|
||||
|
||||
if(RS_DEVELOPMENT_BUILD)
|
||||
target_compile_options(FeedReader PRIVATE "-g" "-O0")
|
||||
endif()
|
||||
|
||||
# --- Includes ---
|
||||
target_include_directories(FeedReader PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/gui
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/services
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/interface
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/util
|
||||
${CMAKE_SOURCE_DIR}/libretroshare/src
|
||||
${CMAKE_SOURCE_DIR}/retroshare-gui/src
|
||||
${CMAKE_SOURCE_DIR}/retroshare-gui/src/gui
|
||||
${CMAKE_SOURCE_DIR}/supportlibs/rapidjson/include
|
||||
${LIBXML2_INCLUDE_DIRS}
|
||||
${LIBXSLT_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
# --- Installation ---
|
||||
install(TARGETS FeedReader DESTINATION lib/retroshare/plugins)
|
||||
129
plugins/VOIP/CMakeLists.txt
Normal file
129
plugins/VOIP/CMakeLists.txt
Normal file
@ -0,0 +1,129 @@
|
||||
# plugins/VOIP/CMakeLists.txt
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(VOIPPlugin)
|
||||
|
||||
# --- Dependencies ---
|
||||
find_package(Qt5 COMPONENTS Multimedia REQUIRED)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(AVCODEC REQUIRED libavcodec)
|
||||
pkg_check_modules(AVUTIL REQUIRED libavutil)
|
||||
pkg_check_modules(SPEEX REQUIRED speex)
|
||||
pkg_check_modules(SPEEXDSP REQUIRED speexdsp)
|
||||
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
|
||||
# --- Definitions ---
|
||||
add_definitions(-D__STDC_CONSTANT_MACROS)
|
||||
|
||||
# --- Sources ---
|
||||
set(VOIP_SOURCES
|
||||
VOIPPlugin.cpp
|
||||
gui/VOIPConfigPanel.cpp
|
||||
services/p3VOIP.cc
|
||||
services/rsVOIPItems.cc
|
||||
gui/AudioStats.cpp
|
||||
gui/AudioWizard.cpp
|
||||
gui/SpeexProcessor.cpp
|
||||
gui/audiodevicehelper.cpp
|
||||
gui/VideoProcessor.cpp
|
||||
gui/QVideoDevice.cpp
|
||||
gui/VOIPChatWidgetHolder.cpp
|
||||
gui/VOIPGUIHandler.cpp
|
||||
gui/VOIPNotify.cpp
|
||||
gui/VOIPToasterItem.cpp
|
||||
gui/VOIPToasterNotify.cpp
|
||||
)
|
||||
|
||||
set(VOIP_FORMS
|
||||
gui/AudioStats.ui
|
||||
gui/AudioWizard.ui
|
||||
gui/VOIPConfigPanel.ui
|
||||
gui/VOIPToasterItem.ui
|
||||
)
|
||||
|
||||
set(VOIP_RESOURCES
|
||||
gui/VOIP_images.qrc
|
||||
lang/VOIP_lang.qrc
|
||||
qss/VOIP_qss.qrc
|
||||
)
|
||||
|
||||
# --- Translations (.ts -> .qm) ---
|
||||
file(GLOB TS_FILES "lang/*.ts")
|
||||
if(Qt5LinguistTools_FOUND)
|
||||
qt5_add_translation(QM_FILES ${TS_FILES})
|
||||
else()
|
||||
find_program(LRELEASE_EXECUTABLE NAMES lrelease-qt5 lrelease)
|
||||
foreach(ts_file ${TS_FILES})
|
||||
get_filename_component(ts_name ${ts_file} NAME_WE)
|
||||
set(qm_src_file "${CMAKE_CURRENT_SOURCE_DIR}/lang/${ts_name}.qm")
|
||||
set(qm_bin_file "${CMAKE_CURRENT_BINARY_DIR}/${ts_name}.qm")
|
||||
|
||||
if(EXISTS ${qm_src_file})
|
||||
list(APPEND QM_FILES ${qm_src_file})
|
||||
elseif(LRELEASE_EXECUTABLE)
|
||||
add_custom_command(
|
||||
OUTPUT ${qm_bin_file}
|
||||
COMMAND ${LRELEASE_EXECUTABLE} ${ts_file} -qm ${qm_bin_file}
|
||||
DEPENDS ${ts_file}
|
||||
VERBATIM
|
||||
)
|
||||
list(APPEND QM_FILES ${qm_bin_file})
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
# --- Target ---
|
||||
add_library(VOIP MODULE
|
||||
${VOIP_SOURCES}
|
||||
${VOIP_FORMS}
|
||||
${VOIP_RESOURCES}
|
||||
${QM_FILES}
|
||||
)
|
||||
|
||||
set_target_properties(VOIP PROPERTIES
|
||||
PREFIX "lib"
|
||||
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/plugins"
|
||||
AUTOUIC_SEARCH_PATHS "${CMAKE_CURRENT_SOURCE_DIR}/gui"
|
||||
)
|
||||
|
||||
# --- Links ---
|
||||
if(WIN32)
|
||||
target_link_libraries(VOIP PRIVATE retroshare)
|
||||
endif()
|
||||
|
||||
target_link_libraries(VOIP PRIVATE
|
||||
Qt5::Core
|
||||
Qt5::Widgets
|
||||
Qt5::Multimedia
|
||||
Qt5::Xml
|
||||
Qt5::Network
|
||||
${AVCODEC_LIBRARIES}
|
||||
${AVUTIL_LIBRARIES}
|
||||
${SPEEX_LIBRARIES}
|
||||
${SPEEXDSP_LIBRARIES}
|
||||
)
|
||||
|
||||
if(RS_DEVELOPMENT_BUILD)
|
||||
target_compile_options(VOIP PRIVATE "-g" "-O0")
|
||||
endif()
|
||||
|
||||
# --- Includes ---
|
||||
target_include_directories(VOIP PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/gui
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/services
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/interface
|
||||
${CMAKE_SOURCE_DIR}/libretroshare/src
|
||||
${CMAKE_SOURCE_DIR}/retroshare-gui/src
|
||||
${CMAKE_SOURCE_DIR}/retroshare-gui/src/gui
|
||||
${CMAKE_SOURCE_DIR}/supportlibs/rapidjson/include
|
||||
${AVCODEC_INCLUDE_DIRS}
|
||||
${AVUTIL_INCLUDE_DIRS}
|
||||
${SPEEX_INCLUDE_DIRS}
|
||||
${SPEEXDSP_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
# --- Installation ---
|
||||
install(TARGETS VOIP DESTINATION lib/retroshare/plugins)
|
||||
95
retroshare-friendserver/CMakeLists.txt
Normal file
95
retroshare-friendserver/CMakeLists.txt
Normal file
@ -0,0 +1,95 @@
|
||||
# CMakeLists.txt for retroshare-friendserver
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
cmake_minimum_required (VERSION 3.18.0)
|
||||
project(retroshare-friendserver)
|
||||
|
||||
include(CMakeDependentOption)
|
||||
|
||||
set(
|
||||
RS_BIN_INSTALL_DIR
|
||||
"${CMAKE_INSTALL_PREFIX}/bin"
|
||||
CACHE PATH
|
||||
"Path where to install retroshare-friendserver compiled binary" )
|
||||
|
||||
option(
|
||||
RS_DEVELOPMENT_BUILD
|
||||
"Disable optimization to speed up build, enable verbose build log"
|
||||
OFF )
|
||||
|
||||
option(
|
||||
RS_RNPLIB
|
||||
"Enable use RNP lib for PGP"
|
||||
ON )
|
||||
|
||||
find_package(ZLIB REQUIRED)
|
||||
find_package(BZip2 REQUIRED)
|
||||
find_package(Git REQUIRED)
|
||||
|
||||
if(RS_DEVELOPMENT_BUILD)
|
||||
set(CMAKE_VERBOSE_MAKEFILE ON)
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
endif(RS_DEVELOPMENT_BUILD)
|
||||
|
||||
# Sources
|
||||
set(FRIENDSERVER_SOURCES
|
||||
src/retroshare-friendserver.cc
|
||||
src/friendserver.cc
|
||||
src/network.cc
|
||||
)
|
||||
|
||||
add_executable(${PROJECT_NAME} ${FRIENDSERVER_SOURCES})
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 17)
|
||||
target_compile_options(${PROJECT_NAME} PRIVATE -Wno-deprecated-declarations)
|
||||
|
||||
|
||||
# Find libretroshare
|
||||
set(LIBRETROSHARE_DEVEL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../libretroshare/")
|
||||
if(EXISTS "${LIBRETROSHARE_DEVEL_DIR}/CMakeLists.txt" )
|
||||
message(STATUS "libretroshare source found at ${LIBRETROSHARE_DEVEL_DIR} using it" )
|
||||
add_subdirectory("${LIBRETROSHARE_DEVEL_DIR}" "${CMAKE_BINARY_DIR}/libretroshare" )
|
||||
else()
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(
|
||||
libretroshare
|
||||
GIT_REPOSITORY "https://github.com/RetroShare/libretroshare.git"
|
||||
GIT_TAG "origin/master"
|
||||
GIT_SHALLOW TRUE
|
||||
GIT_PROGRESS TRUE
|
||||
TIMEOUT 10
|
||||
)
|
||||
FetchContent_MakeAvailable(libretroshare)
|
||||
endif()
|
||||
|
||||
# Include directories
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src"
|
||||
)
|
||||
|
||||
# Link libraries
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE retroshare)
|
||||
|
||||
if(RS_RNPLIB)
|
||||
# Add RNP build directories to linker search path
|
||||
target_link_directories(${PROJECT_NAME} PRIVATE
|
||||
${CMAKE_CURRENT_BINARY_DIR}/supportlibs/librnp/Build/src/lib
|
||||
${CMAKE_CURRENT_BINARY_DIR}/supportlibs/librnp/Build/src/libsexpp
|
||||
)
|
||||
|
||||
# Link libraries by name, including RNP libs and dependencies first
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE
|
||||
rnp # Link by name
|
||||
sexpp
|
||||
botan-2
|
||||
json-c
|
||||
bz2
|
||||
z
|
||||
retroshare
|
||||
)
|
||||
endif(RS_RNPLIB)
|
||||
|
||||
# Link only libretroshare, it should handle its own dependencies now
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE retroshare)
|
||||
|
||||
install(TARGETS ${PROJECT_NAME} DESTINATION ${RS_BIN_INSTALL_DIR})
|
||||
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
cmake_minimum_required (VERSION 3.18.0)
|
||||
project(retroshare-gui VERSION 0.6.6 LANGUAGES CXX)
|
||||
project(retroshare-gui VERSION 0.6.6 LANGUAGES CXX C)
|
||||
|
||||
include(CMakeDependentOption)
|
||||
|
||||
@ -33,10 +33,7 @@ option(
|
||||
just for development purposes, not suitable for library usage"
|
||||
ON )
|
||||
|
||||
option(
|
||||
RS_JSON_API
|
||||
"Use restbed to expose libretroshare as JSON API via HTTP"
|
||||
OFF )
|
||||
set(RS_JSON_API ON CACHE BOOL "Use restbed to expose libretroshare as JSON API via HTTP" FORCE)
|
||||
|
||||
option(
|
||||
RS_SERVICE_DESKTOP
|
||||
@ -53,6 +50,8 @@ option( RS_GXSCHANNELS "Enable GXS channels in GUI" ON )
|
||||
option( RS_GXSFORUMS "Enable GXS forums in GUI" ON )
|
||||
option( RS_GXSPOSTED "Enable GXS posted in GUI" ON )
|
||||
option( RS_GXSCIRCLES "Enable GXS circles in GUI" ON )
|
||||
set(RS_GXSIDENTITIES ON CACHE BOOL "Enable GXS identities in GUI" FORCE)
|
||||
set(RS_IDLE ON CACHE BOOL "Enable Idle support" FORCE)
|
||||
|
||||
cmake_dependent_option(
|
||||
RS_SERVICE_TERMINAL_WEBUI_PASSWORD
|
||||
@ -70,30 +69,26 @@ cmake_dependent_option(
|
||||
|
||||
################################ QT FILES #######################################
|
||||
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
|
||||
find_package( Qt6 COMPONENTS Core REQUIRED)
|
||||
find_package( Qt6 COMPONENTS Widgets REQUIRED)
|
||||
find_package( Qt6 COMPONENTS Xml REQUIRED)
|
||||
find_package( Qt6 COMPONENTS Network REQUIRED)
|
||||
find_package( Qt6 COMPONENTS Multimedia REQUIRED)
|
||||
find_package( Qt6 COMPONENTS PrintSupport REQUIRED)
|
||||
find_package( Qt5 COMPONENTS Core REQUIRED)
|
||||
find_package( Qt5 COMPONENTS Widgets REQUIRED)
|
||||
find_package( Qt5 COMPONENTS Xml REQUIRED)
|
||||
find_package( Qt5 COMPONENTS Network REQUIRED)
|
||||
find_package( Qt5 COMPONENTS Multimedia REQUIRED)
|
||||
find_package( Qt5 COMPONENTS PrintSupport REQUIRED)
|
||||
if(UNIX AND NOT APPLE)
|
||||
find_package( Qt5 COMPONENTS X11Extras REQUIRED )
|
||||
endif()
|
||||
|
||||
list( APPEND RS_LINK_LIBRARIES Qt6::Multimedia Qt6::Widgets Qt6::Xml Qt6::Network Qt6::PrintSupport)
|
||||
if (NOT Qt6_FOUND)
|
||||
find_package( Qt5 COMPONENTS Core REQUIRED)
|
||||
find_package( Qt5 COMPONENTS Widgets REQUIRED)
|
||||
find_package( Qt5 COMPONENTS Xml REQUIRED)
|
||||
find_package( Qt5 COMPONENTS Network REQUIRED)
|
||||
find_package( Qt5 COMPONENTS Multimedia REQUIRED)
|
||||
find_package( Qt5 COMPONENTS PrintSupport REQUIRED)
|
||||
|
||||
list( APPEND RS_LINK_LIBRARIES Qt5::Multimedia Qt5::Widgets Qt5::Xml Qt5::Network Qt5::PrintSupport)
|
||||
list( APPEND RS_LINK_LIBRARIES Qt5::Multimedia Qt5::Widgets Qt5::Xml Qt5::Network Qt5::PrintSupport)
|
||||
if(UNIX AND NOT APPLE)
|
||||
list( APPEND RS_LINK_LIBRARIES Qt5::X11Extras )
|
||||
endif()
|
||||
|
||||
################################################################################
|
||||
@ -106,7 +101,7 @@ find_package(Git REQUIRED)
|
||||
################################################################################
|
||||
|
||||
if(RS_DEVELOPMENT_BUILD)
|
||||
set(CMAKE_VERBOSE_MAKEFILE ON)
|
||||
set(CMAKE_VERBOSE_MAKEFILE OFF)
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
endif(RS_DEVELOPMENT_BUILD)
|
||||
|
||||
@ -114,12 +109,18 @@ endif(RS_DEVELOPMENT_BUILD)
|
||||
|
||||
include(src/CMakeLists.txt)
|
||||
|
||||
link_directories(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../supportlibs/librnp/Build/src/lib"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../supportlibs/librnp/Build/src/libsexpp"
|
||||
)
|
||||
|
||||
qt_wrap_ui(RS_UI_HEADERS ${RS_GUI_FORMS})
|
||||
if (NOT Qt6_FOUND)
|
||||
qt5_wrap_ui(RS_UI_HEADERS ${RS_GUI_FORMS})
|
||||
endif()
|
||||
|
||||
add_executable(${PROJECT_NAME} ${RS_GUI_SOURCES} ${RS_UI_HEADERS} ${RS_GUI_QTRESOURCES})
|
||||
add_executable(${PROJECT_NAME} ${RS_GUI_SOURCES} ${RS_IMPLEMENTATION_HEADERS} ${RS_UI_HEADERS} ${RS_GUI_QTRESOURCES})
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "retroshare")
|
||||
install(TARGETS ${PROJECT_NAME} DESTINATION ${RS_BIN_INSTALL_DIR})
|
||||
|
||||
include_directories( ${CMAKE_BINARY_DIR} )
|
||||
@ -201,6 +202,10 @@ if(RS_JSON_API)
|
||||
target_compile_definitions(${PROJECT_NAME} PUBLIC RS_JSONAPI)
|
||||
endif(RS_JSON_API)
|
||||
|
||||
if(RS_WEBUI)
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE RS_WEBUI)
|
||||
endif(RS_WEBUI)
|
||||
|
||||
################################# CMark ########################################
|
||||
|
||||
if(RS_GUI_CMARK)
|
||||
@ -224,19 +229,18 @@ endif(RS_GUI_CMARK)
|
||||
################################# LibSam v3 ####################################
|
||||
|
||||
set(SAM3_DEVEL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../supportlibs/libsam3/")
|
||||
if(EXISTS "${SAM3_DEVEL_DIR}/.git" )
|
||||
message( STATUS "libsam3 submodule found at ${SAM3_DEVEL_DIR} using it" )
|
||||
add_subdirectory( "${SAM3_DEVEL_DIR}" "${CMAKE_BINARY_DIR}/libsam3" )
|
||||
if(EXISTS "${SAM3_DEVEL_DIR}" )
|
||||
message( STATUS "libsam3 found at ${SAM3_DEVEL_DIR}, defining target sam3" )
|
||||
add_library(sam3 STATIC
|
||||
"${SAM3_DEVEL_DIR}/src/libsam3/libsam3.c"
|
||||
"${SAM3_DEVEL_DIR}/src/libsam3a/libsam3a.c"
|
||||
)
|
||||
target_include_directories(sam3 PUBLIC
|
||||
"${SAM3_DEVEL_DIR}/src/libsam3"
|
||||
"${SAM3_DEVEL_DIR}/src/libsam3a"
|
||||
)
|
||||
else()
|
||||
FetchContent_Declare(
|
||||
libsam3
|
||||
GIT_REPOSITORY "https://github.com/i2p/libsam3.git"
|
||||
GIT_TAG "origin/master"
|
||||
GIT_SHALLOW TRUE
|
||||
GIT_PROGRESS TRUE
|
||||
TIMEOUT 10
|
||||
)
|
||||
FetchContent_MakeAvailable(libsam3)
|
||||
message( WARNING "libsam3 not found!" )
|
||||
endif()
|
||||
|
||||
################################################################################
|
||||
@ -305,7 +309,7 @@ if(UNIX)
|
||||
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_XSS)
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE _FILE_OFFSET_BITS=64)
|
||||
target_link_options(${PROJECT_NAME} PRIVATE LINKER:-rdynamic)
|
||||
target_link_options(${PROJECT_NAME} PRIVATE -rdynamic)
|
||||
endif(UNIX)
|
||||
|
||||
if(RS_SANITIZE)
|
||||
@ -496,10 +500,12 @@ set( CMAKE_CXX_FLAGS "-Wno-deprecated-declarations" )
|
||||
target_compile_definitions(${PROJECT_NAME} PUBLIC RS_NO_WARN_DEPRECATED )
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE RS_RELEASE_VERSION )
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE TARGET=\"retroshare\")
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE RS_DIRECT_CHAT)
|
||||
|
||||
if(RS_GXS_CIRCLES)
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE RS_USE_CIRCLES )
|
||||
endif(RS_GXS_CIRCLES)
|
||||
|
||||
#add_dependencies(${PROJECT_NAME} libretroshare)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE retroshare)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE -Wl,--no-as-needed z bz2 json-c botan-2 -Wl,--as-needed)
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ list(
|
||||
src/main.cpp
|
||||
src/rshare.cpp
|
||||
|
||||
src/gui/notifyqt.cpp
|
||||
src/gui/RsGUIEventManager.cpp
|
||||
src/gui/AboutDialog.cpp
|
||||
src/gui/AboutWidget.cpp
|
||||
src/gui/QuickStartWizard.cpp
|
||||
@ -90,6 +90,7 @@ list(
|
||||
src/util/RichTextEdit.cpp
|
||||
src/util/ClickableLabel.cpp
|
||||
src/util/AspectRatioPixmapLabel.cpp
|
||||
src/util/FontSizeHandler.cpp
|
||||
|
||||
src/gui/profile/ProfileWidget.cpp
|
||||
src/gui/profile/StatusMessage.cpp
|
||||
@ -126,6 +127,7 @@ list(
|
||||
src/gui/common/ElidedLabel.cpp
|
||||
src/gui/common/vmessagebox.cpp
|
||||
src/gui/common/RsCollectionDialog.cpp
|
||||
src/gui/common/RsCollectionModel.cpp
|
||||
src/gui/common/RsCollection.cpp
|
||||
src/gui/common/RsUrlHandler.cpp
|
||||
src/gui/common/rwindow.cpp
|
||||
@ -265,6 +267,8 @@ list(
|
||||
src/gui/statistics/StatisticsWindow.cpp
|
||||
src/gui/statistics/BwCtrlWindow.cpp
|
||||
src/gui/statistics/RttStatistics.cpp
|
||||
src/gui/statistics/GxsNetTunnelsDialog.cpp
|
||||
src/gui/statistics/TunnelStatisticsDialog.cpp
|
||||
src/gui/statistics/BWGraph.cpp
|
||||
|
||||
src/util/RsSyntaxHighlighter.cpp
|
||||
@ -396,6 +400,8 @@ list(
|
||||
src/gui/statistics/StatisticsWindow.ui
|
||||
src/gui/statistics/BwCtrlWindow.ui
|
||||
src/gui/statistics/RttStatistics.ui
|
||||
src/gui/statistics/GxsNetTunnelsDialog.ui
|
||||
src/gui/statistics/TunnelStatisticsDialog.ui
|
||||
|
||||
src/util/RichTextEdit.ui
|
||||
)
|
||||
@ -405,11 +411,6 @@ list(
|
||||
|
||||
src/TorControl/TorControlWindow.h
|
||||
|
||||
src/chat/distantchat.h
|
||||
src/chat/distributedchat.h
|
||||
src/chat/p3chatservice.h
|
||||
src/chat/rschatitems.h
|
||||
|
||||
src/rshare.h
|
||||
src/retroshare-gui/configpage.h
|
||||
src/retroshare-gui/RsAutoUpdatePage.h
|
||||
@ -419,7 +420,7 @@ list(
|
||||
src/control/eventtype.h
|
||||
|
||||
src/gui/QuickStartWizard.h
|
||||
src/gui/notifyqt.h
|
||||
src/gui/RsGUIEventManager.h
|
||||
src/gui/GetStartedDialog.h
|
||||
src/gui/StartDialog.h
|
||||
src/gui/HomePage.h
|
||||
@ -439,8 +440,6 @@ list(
|
||||
src/gui/SearchTreeWidget.h
|
||||
src/gui/ShareManager.h
|
||||
src/gui/NewsFeed.h
|
||||
src/gui/ShareDialog.h
|
||||
src/gui/SFListDelegate.h
|
||||
src/gui/SoundManager.h
|
||||
src/gui/HelpDialog.h
|
||||
src/gui/LogoBar.h
|
||||
@ -476,6 +475,8 @@ list(
|
||||
src/gui/statistics/BwCtrlWindow.h
|
||||
src/gui/statistics/BWGraph.h
|
||||
src/gui/statistics/RttStatistics.h
|
||||
src/gui/statistics/GxsNetTunnelsDialog.h
|
||||
src/gui/statistics/TunnelStatisticsDialog.h
|
||||
|
||||
src/gui/plugins/PluginInterface.h
|
||||
|
||||
@ -500,7 +501,6 @@ list(
|
||||
src/util/dllexport.h
|
||||
src/util/global.h
|
||||
src/util/rsqtutildll.h
|
||||
src/util/Interface.h
|
||||
src/util/PixmapMerging.h
|
||||
src/util/MouseEventFilter.h
|
||||
src/util/EventFilter.h
|
||||
@ -511,6 +511,7 @@ list(
|
||||
src/util/log.h
|
||||
src/util/misc.h
|
||||
src/util/HandleRichText.h
|
||||
src/util/FontSizeHandler.h
|
||||
src/util/ObjectPainter.h
|
||||
src/util/RsQtVersion.h
|
||||
src/util/RsFile.h
|
||||
@ -592,8 +593,8 @@ list(
|
||||
src/gui/common/RSGraphWidget.h
|
||||
src/gui/common/ElidedLabel.h
|
||||
src/gui/common/vmessagebox.h
|
||||
src/gui/common/RsUrlHandler.h
|
||||
src/gui/common/RsCollectionDialog.h
|
||||
src/gui/common/RsCollectionModel.h
|
||||
src/gui/common/rwindow.h
|
||||
src/gui/common/rshtml.h
|
||||
src/gui/common/AvatarDefs.h
|
||||
@ -714,8 +715,7 @@ if(RS_WEBUI)
|
||||
|
||||
list(
|
||||
APPEND RS_IMPLEMENTATION_HEADERS
|
||||
src/jsonapi/p3webui.h
|
||||
src/gui/settings/WebuiPage.h
|
||||
src/gui/settings/WebuiPage.h
|
||||
)
|
||||
|
||||
list(
|
||||
@ -1050,6 +1050,7 @@ if(RS_GXSIDENTITIES)
|
||||
src/gui/Identity/IdDialog.h
|
||||
src/gui/Identity/IdEditDialog.h
|
||||
src/gui/Identity/IdDetailsDialog.h
|
||||
src/gui/Identity/IdentityListModel.h
|
||||
)
|
||||
|
||||
list(
|
||||
@ -1064,6 +1065,7 @@ if(RS_GXSIDENTITIES)
|
||||
src/gui/Identity/IdDialog.cpp
|
||||
src/gui/Identity/IdEditDialog.cpp
|
||||
src/gui/Identity/IdDetailsDialog.cpp
|
||||
src/gui/Identity/IdentityListModel.cpp
|
||||
)
|
||||
endif(RS_GXSIDENTITIES)
|
||||
|
||||
@ -1113,8 +1115,8 @@ if(RS_GXSGUI)
|
||||
src/gui/gxs/GxsGroupFrameDialog.h
|
||||
src/gui/gxs/GxsMessageFrameWidget.h
|
||||
src/gui/gxs/GxsMessageFramePostWidget.h
|
||||
src/gui/gxs/GxsGroupFeedItem.h
|
||||
src/gui/gxs/GxsFeedItem.h
|
||||
src/gui/feeds/GxsGroupFeedItem.h
|
||||
src/gui/feeds/GxsFeedItem.h
|
||||
src/gui/gxs/GxsGroupShareKey.h
|
||||
src/gui/gxs/GxsUserNotify.h
|
||||
src/gui/gxs/GxsFeedWidget.h
|
||||
@ -1150,8 +1152,8 @@ if(RS_GXSGUI)
|
||||
src/gui/gxs/GxsGroupFrameDialog.cpp
|
||||
src/gui/gxs/GxsMessageFrameWidget.cpp
|
||||
src/gui/gxs/GxsMessageFramePostWidget.cpp
|
||||
src/gui/gxs/GxsGroupFeedItem.cpp
|
||||
src/gui/gxs/GxsFeedItem.cpp
|
||||
src/gui/feeds/GxsGroupFeedItem.cpp
|
||||
src/gui/feeds/GxsFeedItem.cpp
|
||||
src/gui/gxs/GxsUserNotify.cpp
|
||||
src/gui/gxs/GxsFeedWidget.cpp
|
||||
src/util/TokenQueue.cpp
|
||||
@ -1250,6 +1252,8 @@ if(RS_GXSPOSTED)
|
||||
src/gui/Posted/PostedCreatePostDialog.h
|
||||
src/gui/Posted/PhotoView.h
|
||||
src/gui/Posted/PostedUserNotify.h
|
||||
src/gui/feeds/BoardsPostItem.h
|
||||
src/gui/Posted/BoardPostImageHelper.h
|
||||
)
|
||||
|
||||
list(
|
||||
@ -1262,6 +1266,7 @@ if(RS_GXSPOSTED)
|
||||
src/gui/Posted/PostedCardView.ui
|
||||
src/gui/Posted/PostedCreatePostDialog.ui
|
||||
src/gui/Posted/PhotoView.ui
|
||||
src/gui/feeds/BoardsPostItem.ui
|
||||
)
|
||||
|
||||
list(
|
||||
@ -1277,6 +1282,8 @@ if(RS_GXSPOSTED)
|
||||
src/gui/Posted/PostedCreatePostDialog.cpp
|
||||
src/gui/Posted/PhotoView.cpp
|
||||
src/gui/Posted/PostedUserNotify.cpp
|
||||
src/gui/feeds/BoardsPostItem.cpp
|
||||
src/gui/Posted/BoardPostImageHelper.cpp
|
||||
)
|
||||
|
||||
list(
|
||||
|
||||
@ -101,7 +101,7 @@ void PhotoDialog::toggleComments()
|
||||
RsGxsId current_author;
|
||||
// create CommentDialog.
|
||||
RsGxsCommentService *commentService = dynamic_cast<RsGxsCommentService *>(mRsPhoto);
|
||||
GxsCommentDialog *commentDialog = new GxsCommentDialog(this,current_author, mRsPhoto->getTokenService(), commentService);
|
||||
GxsCommentDialog *commentDialog = new GxsCommentDialog(this,current_author, commentService);
|
||||
|
||||
// TODO: Need to fetch all msg versions, otherwise - won't get all the comments.
|
||||
// For the moment - use current msgid.
|
||||
|
||||
@ -217,7 +217,8 @@ PluginManager::pluginWidget(QString pluginName)
|
||||
QString em = tr("Error: no plugin with name '%1' found")
|
||||
.arg(pluginName);
|
||||
emit errorAppeared( em );
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
|
||||
@ -20,6 +20,8 @@
|
||||
|
||||
#include "PluginManagerWidget.h"
|
||||
#include "gui/settings/rsharesettings.h"
|
||||
#include "util/misc.h"
|
||||
|
||||
|
||||
#include <QHBoxLayout>
|
||||
#include <QVBoxLayout>
|
||||
@ -160,9 +162,8 @@ PluginManagerWidget::registerNewPlugin(QString pluginName)
|
||||
void
|
||||
PluginManagerWidget::installPluginButtonClicked()
|
||||
{
|
||||
QString fileName = misc::getOpenFileName(this, RshareSettings::LASTDIR_PLUGIN, tr("Open Plugin to install"), "./", tr("Plugins (*.so *.dll)"));
|
||||
|
||||
if (!fileName.isNull())
|
||||
QString fileName;
|
||||
if (misc::getOpenFileName(this, RshareSettings::LASTDIR_PLUGIN, tr("Open Plugin to install"), tr("Plugins (*.so *.dll)"), fileName))
|
||||
emit installPluginRequested(fileName);
|
||||
}
|
||||
|
||||
|
||||
@ -42,6 +42,8 @@
|
||||
#include "PluginsPage.h"
|
||||
#include "PluginManager.h"
|
||||
|
||||
namespace gui {
|
||||
|
||||
//==============================================================================
|
||||
|
||||
PluginsPage::PluginsPage(QWidget *parent )
|
||||
@ -95,5 +97,6 @@ PluginsPage::pluginRegistered(QString pluginName)
|
||||
|
||||
pluginTabs->addTab( pw , pluginName );
|
||||
}
|
||||
} // namespace gui
|
||||
|
||||
//==============================================================================
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
#pragma once
|
||||
#include <QAbstractItemModel>
|
||||
|
||||
|
||||
#include "RsCollection.h"
|
||||
|
||||
class RsCollectionModel: public QAbstractItemModel
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
*******************************************************************************/
|
||||
|
||||
#include "GxsFeedWidget.h"
|
||||
#include "gui/gxs/GxsFeedItem.h"
|
||||
#include "gui/feeds/GxsFeedItem.h"
|
||||
|
||||
#define PAIR(groupId,messageId) QPair<RsGxsGroupId, RsGxsMessageId>(groupId, messageId)
|
||||
|
||||
|
||||
@ -359,8 +359,7 @@ void GxsGroupDialog::setupDefaults()
|
||||
|
||||
#ifndef RS_USE_CIRCLES
|
||||
ui.typeGroup->setEnabled(false);
|
||||
ui.typeGroup_3->setEnabled(false);
|
||||
ui.typeLocal_3->setEnabled(false);
|
||||
ui.typeLocal->setEnabled(false);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@ -144,7 +144,7 @@ if(RS_RNPLIB)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE
|
||||
rnp # Link by name
|
||||
sexpp
|
||||
botan-3
|
||||
botan-2
|
||||
json-c
|
||||
bz2
|
||||
z
|
||||
|
||||
Loading…
Reference in New Issue
Block a user