optimize plugin cmakes

This commit is contained in:
Martin Rotter 2024-03-21 09:46:29 +01:00
parent ab8fd845e6
commit 6d1f28b2fa
7 changed files with 21 additions and 95 deletions

View File

@ -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()

View File

@ -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})

View File

@ -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})

View File

@ -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})

View File

@ -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})

View File

@ -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})

View File

@ -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})