From 6d1f28b2fa4bdf3825ffddfa989edc5da18651d2 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Thu, 21 Mar 2024 09:46:29 +0100 Subject: [PATCH] optimize plugin cmakes --- src/cmake_plugins.cmake | 17 +++++++++++++++++ src/librssguard-feedly/CMakeLists.txt | 16 +--------------- src/librssguard-gmail/CMakeLists.txt | 17 +---------------- src/librssguard-greader/CMakeLists.txt | 17 +---------------- src/librssguard-nextcloud/CMakeLists.txt | 15 --------------- src/librssguard-standard/CMakeLists.txt | 18 +----------------- src/librssguard-ttrss/CMakeLists.txt | 16 ---------------- 7 files changed, 21 insertions(+), 95 deletions(-) diff --git a/src/cmake_plugins.cmake b/src/cmake_plugins.cmake index fad2a6964..25c2b2a48 100644 --- a/src/cmake_plugins.cmake +++ b/src/cmake_plugins.cmake @@ -1,8 +1,23 @@ function(prepare_rssguard_plugin plugin_target_name) + message(STATUS "Preparing plugin ${plugin_target_name}.") + if(NOT DEFINED LIBRSSGUARD_SOURCE_PATH) set(LIBRSSGUARD_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/..") endif() + qt_wrap_ui(SOURCES ${UI_FILES}) + + if(WIN32) + enable_language("RC") + list(APPEND SOURCES "${CMAKE_BINARY_DIR}/rssguard.rc") + endif() + + add_library(${PLUGIN_TARGET} SHARED ${SOURCES} ${QM_FILES}) + + target_link_libraries(${plugin_target_name} PUBLIC + rssguard + ) + target_compile_definitions(${plugin_target_name} PRIVATE RSSGUARD_DLLSPEC=Q_DECL_IMPORT @@ -25,4 +40,6 @@ function(prepare_rssguard_plugin plugin_target_name) DESTINATION Contents/MacOS ) endif() + + message(STATUS "Plugin ${plugin_target_name} is prepared.") endfunction() diff --git a/src/librssguard-feedly/CMakeLists.txt b/src/librssguard-feedly/CMakeLists.txt index 4a2d5f13c..4a8df71b9 100644 --- a/src/librssguard-feedly/CMakeLists.txt +++ b/src/librssguard-feedly/CMakeLists.txt @@ -19,17 +19,10 @@ set(UI_FILES src/gui/feedlyaccountdetails.ui ) -qt_wrap_ui(SOURCES ${UI_FILES}) - set(FEEDLY_CLIENT_ID "" CACHE STRING "Feedly client ID") set(FEEDLY_CLIENT_SECRET "" CACHE STRING "Feedly client secret") -if(WIN32) - enable_language("RC") - list(APPEND SOURCES "${CMAKE_BINARY_DIR}/rssguard.rc") -endif() - -add_library(${PLUGIN_TARGET} SHARED ${SOURCES} ${QM_FILES}) +prepare_rssguard_plugin(${PLUGIN_TARGET}) if(NOT FEEDLY_CLIENT_ID STREQUAL "" AND NOT FEEDLY_CLIENT_SECRET STREQUAL "") target_compile_definitions(${PLUGIN_TARGET} @@ -44,10 +37,3 @@ if(NOT FEEDLY_CLIENT_ID STREQUAL "" AND NOT FEEDLY_CLIENT_SECRET STREQUAL "") else() message(STATUS "Feedly client ID/secret variables are not set. Disabling official support.") endif() - -# Qt. -target_link_libraries(${PLUGIN_TARGET} PUBLIC - rssguard -) - -prepare_rssguard_plugin(${PLUGIN_TARGET}) diff --git a/src/librssguard-gmail/CMakeLists.txt b/src/librssguard-gmail/CMakeLists.txt index 9dcb8e45b..44adcf1d9 100644 --- a/src/librssguard-gmail/CMakeLists.txt +++ b/src/librssguard-gmail/CMakeLists.txt @@ -38,19 +38,10 @@ set(UI_FILES src/3rd-party/richtexteditor/mrichtextedit.ui ) -# Deal with .ui files. -qt_wrap_ui(SOURCES ${UI_FILES}) - set(GMAIL_CLIENT_ID "" CACHE STRING "GMail client ID") set(GMAIL_CLIENT_SECRET "" CACHE STRING "GMail client secret") -# Bundle version info. -if(WIN32) - enable_language("RC") - list(APPEND SOURCES "${CMAKE_BINARY_DIR}/rssguard.rc") -endif() - -add_library(${PLUGIN_TARGET} SHARED ${SOURCES} ${QM_FILES}) +prepare_rssguard_plugin(${PLUGIN_TARGET}) if(NOT GMAIL_CLIENT_ID STREQUAL "" AND NOT GMAIL_CLIENT_SECRET STREQUAL "") target_compile_definitions(rssguard-gmail @@ -70,9 +61,3 @@ target_include_directories(rssguard-gmail PUBLIC src/3rd-party/richtexteditor ) - -target_link_libraries(rssguard-gmail PUBLIC - rssguard -) - -prepare_rssguard_plugin(${PLUGIN_TARGET}) diff --git a/src/librssguard-greader/CMakeLists.txt b/src/librssguard-greader/CMakeLists.txt index f3c6b530d..1e931e9a6 100644 --- a/src/librssguard-greader/CMakeLists.txt +++ b/src/librssguard-greader/CMakeLists.txt @@ -26,19 +26,10 @@ set(UI_FILES src/gui/greaderfeeddetails.ui ) -# Deal with .ui files. -qt_wrap_ui(SOURCES ${UI_FILES}) - set(INOREADER_CLIENT_ID "" CACHE STRING "Inoreader client ID") set(INOREADER_CLIENT_SECRET "" CACHE STRING "Inoreader client secret") -# Bundle version info. -if(WIN32) - enable_language("RC") - list(APPEND SOURCES "${CMAKE_BINARY_DIR}/rssguard.rc") -endif() - -add_library(${PLUGIN_TARGET} SHARED ${SOURCES} ${QM_FILES}) +prepare_rssguard_plugin(${PLUGIN_TARGET}) if(NOT INOREADER_CLIENT_ID STREQUAL "" AND NOT INOREADER_CLIENT_SECRET STREQUAL "") target_compile_definitions(rssguard @@ -53,9 +44,3 @@ if(NOT INOREADER_CLIENT_ID STREQUAL "" AND NOT INOREADER_CLIENT_SECRET STREQUAL else() message(STATUS "Inoreader client ID/secret variables are not set. Disabling official support.") endif() - -target_link_libraries(rssguard-greader PUBLIC - rssguard -) - -prepare_rssguard_plugin(${PLUGIN_TARGET}) diff --git a/src/librssguard-nextcloud/CMakeLists.txt b/src/librssguard-nextcloud/CMakeLists.txt index a6c94d20e..a5fdc716f 100644 --- a/src/librssguard-nextcloud/CMakeLists.txt +++ b/src/librssguard-nextcloud/CMakeLists.txt @@ -21,19 +21,4 @@ set(UI_FILES src/gui/nextcloudaccountdetails.ui ) -# Deal with .ui files. -qt_wrap_ui(SOURCES ${UI_FILES}) - -# Bundle version info. -if(WIN32) - enable_language("RC") - list(APPEND SOURCES "${CMAKE_BINARY_DIR}/rssguard.rc") -endif() - -add_library(${PLUGIN_TARGET} SHARED ${SOURCES} ${QM_FILES}) - -target_link_libraries(${PLUGIN_TARGET} PUBLIC - rssguard -) - prepare_rssguard_plugin(${PLUGIN_TARGET}) diff --git a/src/librssguard-standard/CMakeLists.txt b/src/librssguard-standard/CMakeLists.txt index 5fc976f28..1475b4f07 100644 --- a/src/librssguard-standard/CMakeLists.txt +++ b/src/librssguard-standard/CMakeLists.txt @@ -63,21 +63,7 @@ if(ZLIB_FOUND) message(STATUS "Using system zlib ${ZLIB_VERSION_STRING}.") endif(ZLIB_FOUND) -# Deal with .ui files. -qt_wrap_ui(SOURCES ${UI_FILES}) - -# Bundle version info. -if(WIN32) - enable_language("RC") - list(APPEND SOURCES "${CMAKE_BINARY_DIR}/rssguard.rc") -endif() - -add_library(${PLUGIN_TARGET} SHARED ${SOURCES} ${QM_FILES}) - -# Qt. -target_link_libraries(${PLUGIN_TARGET} PUBLIC - rssguard -) +prepare_rssguard_plugin(${PLUGIN_TARGET}) if(QT_VERSION_MAJOR EQUAL 6) target_link_libraries(${PLUGIN_TARGET} PUBLIC @@ -100,5 +86,3 @@ if(ZLIB_FOUND) ${ZLIB_LIBRARIES} ) endif(ZLIB_FOUND) - -prepare_rssguard_plugin(${PLUGIN_TARGET}) diff --git a/src/librssguard-ttrss/CMakeLists.txt b/src/librssguard-ttrss/CMakeLists.txt index 355b7a037..bf3bb872c 100644 --- a/src/librssguard-ttrss/CMakeLists.txt +++ b/src/librssguard-ttrss/CMakeLists.txt @@ -30,20 +30,4 @@ set(UI_FILES src/gui/ttrssfeeddetails.ui ) -# Deal with .ui files. -qt_wrap_ui(SOURCES ${UI_FILES}) - -# Bundle version info. -if(WIN32) - enable_language("RC") - list(APPEND SOURCES "${CMAKE_BINARY_DIR}/rssguard.rc") -endif() - -add_library(${PLUGIN_TARGET} SHARED ${SOURCES} ${QM_FILES}) - -# Qt. -target_link_libraries(${PLUGIN_TARGET} PUBLIC - rssguard -) - prepare_rssguard_plugin(${PLUGIN_TARGET})