diff --git a/src/librssguard-feedly/CMakeLists.txt b/src/librssguard-feedly/CMakeLists.txt index 22034e93c..4a2d5f13c 100644 --- a/src/librssguard-feedly/CMakeLists.txt +++ b/src/librssguard-feedly/CMakeLists.txt @@ -1,6 +1,5 @@ -if(NOT DEFINED LIBRSSGUARD_BINARY_PATH) - set(LIBRSSGUARD_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/..") -endif() +include(../cmake_plugins.cmake) +set(PLUGIN_TARGET "rssguard-feedly") set(SOURCES src/definitions.h @@ -20,28 +19,20 @@ set(UI_FILES src/gui/feedlyaccountdetails.ui ) -# Deal with .ui files. qt_wrap_ui(SOURCES ${UI_FILES}) set(FEEDLY_CLIENT_ID "" CACHE STRING "Feedly client ID") set(FEEDLY_CLIENT_SECRET "" CACHE STRING "Feedly client secret") -# Bundle version info. if(WIN32) enable_language("RC") list(APPEND SOURCES "${CMAKE_BINARY_DIR}/rssguard.rc") endif() -add_library(rssguard-feedly SHARED ${SOURCES} ${QM_FILES}) - -# Add specific definitions. -target_compile_definitions(rssguard-feedly - PRIVATE - RSSGUARD_DLLSPEC=Q_DECL_IMPORT -) +add_library(${PLUGIN_TARGET} SHARED ${SOURCES} ${QM_FILES}) if(NOT FEEDLY_CLIENT_ID STREQUAL "" AND NOT FEEDLY_CLIENT_SECRET STREQUAL "") - target_compile_definitions(rssguard-feedly + target_compile_definitions(${PLUGIN_TARGET} PRIVATE FEEDLY_OFFICIAL_SUPPORT @@ -54,39 +45,9 @@ else() message(STATUS "Feedly client ID/secret variables are not set. Disabling official support.") endif() -target_include_directories(rssguard-feedly - PUBLIC - ${LIBRSSGUARD_SOURCE_PATH} -) - # Qt. -target_link_libraries(rssguard-feedly PUBLIC +target_link_libraries(${PLUGIN_TARGET} PUBLIC rssguard - Qt${QT_VERSION_MAJOR}::Core - Qt${QT_VERSION_MAJOR}::Gui - Qt${QT_VERSION_MAJOR}::Network - Qt${QT_VERSION_MAJOR}::Qml - Qt${QT_VERSION_MAJOR}::Sql - Qt${QT_VERSION_MAJOR}::Widgets - Qt${QT_VERSION_MAJOR}::Xml - Qt${QT_VERSION_MAJOR}::Concurrent ) -if(QT_VERSION_MAJOR EQUAL 6) - target_link_libraries(rssguard-feedly PUBLIC - Qt${QT_VERSION_MAJOR}::Core5Compat - ) -endif() - -if(WIN32 OR OS2) - install(TARGETS rssguard-feedly DESTINATION plugins) -elseif(UNIX AND NOT APPLE AND NOT ANDROID) - include (GNUInstallDirs) - install(TARGETS rssguard-feedly - DESTINATION ${CMAKE_INSTALL_LIBDIR}/rssguard - ) -elseif(APPLE) - install(TARGETS rssguard-feedly - DESTINATION Contents/MacOS - ) -endif() +prepare_rssguard_plugin(${PLUGIN_TARGET}) diff --git a/src/librssguard-gmail/CMakeLists.txt b/src/librssguard-gmail/CMakeLists.txt index 69883ff2a..9dcb8e45b 100644 --- a/src/librssguard-gmail/CMakeLists.txt +++ b/src/librssguard-gmail/CMakeLists.txt @@ -1,6 +1,5 @@ -if(NOT DEFINED LIBRSSGUARD_BINARY_PATH) - set(LIBRSSGUARD_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/..") -endif() +include(../cmake_plugins.cmake) +set(PLUGIN_TARGET "rssguard-gmail") set(SOURCES src/definitions.h @@ -51,13 +50,7 @@ if(WIN32) list(APPEND SOURCES "${CMAKE_BINARY_DIR}/rssguard.rc") endif() -add_library(rssguard-gmail SHARED ${SOURCES} ${QM_FILES}) - -# Add specific definitions. -target_compile_definitions(rssguard-gmail - PRIVATE - RSSGUARD_DLLSPEC=Q_DECL_IMPORT -) +add_library(${PLUGIN_TARGET} SHARED ${SOURCES} ${QM_FILES}) if(NOT GMAIL_CLIENT_ID STREQUAL "" AND NOT GMAIL_CLIENT_SECRET STREQUAL "") target_compile_definitions(rssguard-gmail @@ -75,38 +68,11 @@ endif() target_include_directories(rssguard-gmail PUBLIC - ${LIBRSSGUARD_SOURCE_PATH} src/3rd-party/richtexteditor ) -# Qt. target_link_libraries(rssguard-gmail PUBLIC rssguard - Qt${QT_VERSION_MAJOR}::Core - Qt${QT_VERSION_MAJOR}::Gui - Qt${QT_VERSION_MAJOR}::Network - Qt${QT_VERSION_MAJOR}::Qml - Qt${QT_VERSION_MAJOR}::Sql - Qt${QT_VERSION_MAJOR}::Widgets - Qt${QT_VERSION_MAJOR}::Xml - Qt${QT_VERSION_MAJOR}::Concurrent ) -#if(QT_VERSION_MAJOR EQUAL 6) -# target_link_libraries(rssguard-feedly PUBLIC -# Qt${QT_VERSION_MAJOR}::Core5Compat -# ) -#endif() - -if(WIN32 OR OS2) - install(TARGETS rssguard-gmail DESTINATION plugins) -elseif(UNIX AND NOT APPLE AND NOT ANDROID) - include (GNUInstallDirs) - install(TARGETS rssguard-gmail - DESTINATION ${CMAKE_INSTALL_LIBDIR}/rssguard - ) -elseif(APPLE) - install(TARGETS rssguard-gmail - DESTINATION Contents/MacOS - ) -endif() +prepare_rssguard_plugin(${PLUGIN_TARGET}) diff --git a/src/librssguard-greader/CMakeLists.txt b/src/librssguard-greader/CMakeLists.txt index 6bfb8f919..f3c6b530d 100644 --- a/src/librssguard-greader/CMakeLists.txt +++ b/src/librssguard-greader/CMakeLists.txt @@ -1,6 +1,5 @@ -if(NOT DEFINED LIBRSSGUARD_BINARY_PATH) - set(LIBRSSGUARD_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/..") -endif() +include(../cmake_plugins.cmake) +set(PLUGIN_TARGET "rssguard-greader") set(SOURCES src/definitions.h @@ -39,13 +38,7 @@ if(WIN32) list(APPEND SOURCES "${CMAKE_BINARY_DIR}/rssguard.rc") endif() -add_library(rssguard-greader SHARED ${SOURCES} ${QM_FILES}) - -# Add specific definitions. -target_compile_definitions(rssguard-greader - PRIVATE - RSSGUARD_DLLSPEC=Q_DECL_IMPORT -) +add_library(${PLUGIN_TARGET} SHARED ${SOURCES} ${QM_FILES}) if(NOT INOREADER_CLIENT_ID STREQUAL "" AND NOT INOREADER_CLIENT_SECRET STREQUAL "") target_compile_definitions(rssguard @@ -61,40 +54,8 @@ else() message(STATUS "Inoreader client ID/secret variables are not set. Disabling official support.") endif() -target_include_directories(rssguard-greader - PUBLIC - ${LIBRSSGUARD_SOURCE_PATH} - src/3rd-party/richtexteditor -) - -# Qt. target_link_libraries(rssguard-greader PUBLIC rssguard - Qt${QT_VERSION_MAJOR}::Core - Qt${QT_VERSION_MAJOR}::Gui - Qt${QT_VERSION_MAJOR}::Network - Qt${QT_VERSION_MAJOR}::Qml - Qt${QT_VERSION_MAJOR}::Sql - Qt${QT_VERSION_MAJOR}::Widgets - Qt${QT_VERSION_MAJOR}::Xml - Qt${QT_VERSION_MAJOR}::Concurrent ) -#if(QT_VERSION_MAJOR EQUAL 6) -# target_link_libraries(rssguard-feedly PUBLIC -# Qt${QT_VERSION_MAJOR}::Core5Compat -# ) -#endif() - -if(WIN32 OR OS2) - install(TARGETS rssguard-greader DESTINATION plugins) -elseif(UNIX AND NOT APPLE AND NOT ANDROID) - include (GNUInstallDirs) - install(TARGETS rssguard-greader - DESTINATION ${CMAKE_INSTALL_LIBDIR}/rssguard - ) -elseif(APPLE) - install(TARGETS rssguard-greader - DESTINATION Contents/MacOS - ) -endif() +prepare_rssguard_plugin(${PLUGIN_TARGET}) diff --git a/src/librssguard-nextcloud/CMakeLists.txt b/src/librssguard-nextcloud/CMakeLists.txt index 4237d67c5..a6c94d20e 100644 --- a/src/librssguard-nextcloud/CMakeLists.txt +++ b/src/librssguard-nextcloud/CMakeLists.txt @@ -1,6 +1,5 @@ -if(NOT DEFINED LIBRSSGUARD_BINARY_PATH) - set(LIBRSSGUARD_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/..") -endif() +include(../cmake_plugins.cmake) +set(PLUGIN_TARGET "rssguard-nextcloud") set(SOURCES src/definitions.h @@ -31,47 +30,10 @@ if(WIN32) list(APPEND SOURCES "${CMAKE_BINARY_DIR}/rssguard.rc") endif() -add_library(rssguard-nextcloud SHARED ${SOURCES} ${QM_FILES}) +add_library(${PLUGIN_TARGET} SHARED ${SOURCES} ${QM_FILES}) -# Add specific definitions. -target_compile_definitions(rssguard-nextcloud - PRIVATE - RSSGUARD_DLLSPEC=Q_DECL_IMPORT -) - -target_include_directories(rssguard-nextcloud - PUBLIC - ${LIBRSSGUARD_SOURCE_PATH} -) - -# Qt. -target_link_libraries(rssguard-nextcloud PUBLIC +target_link_libraries(${PLUGIN_TARGET} PUBLIC rssguard - Qt${QT_VERSION_MAJOR}::Core - Qt${QT_VERSION_MAJOR}::Gui - Qt${QT_VERSION_MAJOR}::Network - Qt${QT_VERSION_MAJOR}::Qml - Qt${QT_VERSION_MAJOR}::Sql - Qt${QT_VERSION_MAJOR}::Widgets - Qt${QT_VERSION_MAJOR}::Xml - Qt${QT_VERSION_MAJOR}::Concurrent ) -#if(QT_VERSION_MAJOR EQUAL 6) -# target_link_libraries(rssguard-feedly PUBLIC -# Qt${QT_VERSION_MAJOR}::Core5Compat -# ) -#endif() - -if(WIN32 OR OS2) - install(TARGETS rssguard-nextcloud DESTINATION plugins) -elseif(UNIX AND NOT APPLE AND NOT ANDROID) - include (GNUInstallDirs) - install(TARGETS rssguard-nextcloud - DESTINATION ${CMAKE_INSTALL_LIBDIR}/rssguard - ) -elseif(APPLE) - install(TARGETS rssguard-nextcloud - DESTINATION Contents/MacOS - ) -endif() +prepare_rssguard_plugin(${PLUGIN_TARGET}) diff --git a/src/librssguard-standard/CMakeLists.txt b/src/librssguard-standard/CMakeLists.txt index 1b166bdd0..5fc976f28 100644 --- a/src/librssguard-standard/CMakeLists.txt +++ b/src/librssguard-standard/CMakeLists.txt @@ -1,6 +1,5 @@ -if(NOT DEFINED LIBRSSGUARD_BINARY_PATH) - set(LIBRSSGUARD_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/..") -endif() +include(../cmake_plugins.cmake) +set(PLUGIN_TARGET "rssguard-standard") set(SOURCES src/definitions.h @@ -73,63 +72,33 @@ if(WIN32) list(APPEND SOURCES "${CMAKE_BINARY_DIR}/rssguard.rc") endif() -add_library(rssguard-standard SHARED ${SOURCES} ${QM_FILES}) - -# Add specific definitions. -target_compile_definitions(rssguard-standard - PRIVATE - RSSGUARD_DLLSPEC=Q_DECL_IMPORT -) - -target_include_directories(rssguard-standard - PUBLIC - ${LIBRSSGUARD_SOURCE_PATH} -) +add_library(${PLUGIN_TARGET} SHARED ${SOURCES} ${QM_FILES}) # Qt. -target_link_libraries(rssguard-standard PUBLIC +target_link_libraries(${PLUGIN_TARGET} PUBLIC rssguard - Qt${QT_VERSION_MAJOR}::Core - Qt${QT_VERSION_MAJOR}::Gui - Qt${QT_VERSION_MAJOR}::Network - Qt${QT_VERSION_MAJOR}::Qml - Qt${QT_VERSION_MAJOR}::Sql - Qt${QT_VERSION_MAJOR}::Widgets - Qt${QT_VERSION_MAJOR}::Xml - Qt${QT_VERSION_MAJOR}::Concurrent ) if(QT_VERSION_MAJOR EQUAL 6) - target_link_libraries(rssguard-standard PUBLIC + target_link_libraries(${PLUGIN_TARGET} PUBLIC Qt${QT_VERSION_MAJOR}::Core5Compat ) endif() if(ZLIB_FOUND) - target_include_directories(rssguard-standard AFTER + target_include_directories(${PLUGIN_TARGET} AFTER PRIVATE ${ZLIB_INCLUDE_DIRS} ) - target_compile_definitions(rssguard-standard + target_compile_definitions(${PLUGIN_TARGET} PRIVATE ENABLE_COMPRESSED_SITEMAP ) - target_link_libraries(rssguard-standard PRIVATE + target_link_libraries(${PLUGIN_TARGET} PRIVATE ${ZLIB_LIBRARIES} ) endif(ZLIB_FOUND) -if(WIN32 OR OS2) - install(TARGETS rssguard-standard DESTINATION plugins) -elseif(UNIX AND NOT APPLE AND NOT ANDROID) - include (GNUInstallDirs) - install(TARGETS rssguard-standard - DESTINATION ${CMAKE_INSTALL_LIBDIR}/rssguard - ) -elseif(APPLE) - install(TARGETS rssguard-standard - DESTINATION Contents/MacOS - ) -endif() +prepare_rssguard_plugin(${PLUGIN_TARGET}) diff --git a/src/librssguard-ttrss/CMakeLists.txt b/src/librssguard-ttrss/CMakeLists.txt index 6cd8f6348..355b7a037 100644 --- a/src/librssguard-ttrss/CMakeLists.txt +++ b/src/librssguard-ttrss/CMakeLists.txt @@ -1,6 +1,5 @@ -if(NOT DEFINED LIBRSSGUARD_BINARY_PATH) - set(LIBRSSGUARD_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/..") -endif() +include(../cmake_plugins.cmake) +set(PLUGIN_TARGET "rssguard-ttrss") set(SOURCES src/definitions.h @@ -23,7 +22,7 @@ set(SOURCES src/ttrssserviceentrypoint.h src/ttrssserviceroot.cpp src/ttrssserviceroot.h - ) +) set(UI_FILES src/gui/formttrssnote.ui @@ -40,48 +39,11 @@ if(WIN32) list(APPEND SOURCES "${CMAKE_BINARY_DIR}/rssguard.rc") endif() -add_library(rssguard-ttrss SHARED ${SOURCES} ${QM_FILES}) - -# Add specific definitions. -target_compile_definitions(rssguard-ttrss - PRIVATE - RSSGUARD_DLLSPEC=Q_DECL_IMPORT -) - -target_include_directories(rssguard-ttrss - PUBLIC - ${LIBRSSGUARD_SOURCE_PATH} - src/3rd-party/richtexteditor -) +add_library(${PLUGIN_TARGET} SHARED ${SOURCES} ${QM_FILES}) # Qt. -target_link_libraries(rssguard-ttrss PUBLIC +target_link_libraries(${PLUGIN_TARGET} PUBLIC rssguard - Qt${QT_VERSION_MAJOR}::Core - Qt${QT_VERSION_MAJOR}::Gui - Qt${QT_VERSION_MAJOR}::Network - Qt${QT_VERSION_MAJOR}::Qml - Qt${QT_VERSION_MAJOR}::Sql - Qt${QT_VERSION_MAJOR}::Widgets - Qt${QT_VERSION_MAJOR}::Xml - Qt${QT_VERSION_MAJOR}::Concurrent ) -#if(QT_VERSION_MAJOR EQUAL 6) -# target_link_libraries(rssguard-feedly PUBLIC -# Qt${QT_VERSION_MAJOR}::Core5Compat -# ) -#endif() - -if(WIN32 OR OS2) - install(TARGETS rssguard-ttrss DESTINATION plugins) -elseif(UNIX AND NOT APPLE AND NOT ANDROID) - include (GNUInstallDirs) - install(TARGETS rssguard-ttrss - DESTINATION ${CMAKE_INSTALL_LIBDIR}/rssguard - ) -elseif(APPLE) - install(TARGETS rssguard-ttrss - DESTINATION Contents/MacOS - ) -endif() +prepare_rssguard_plugin(${PLUGIN_TARGET})