Skip to content

Commit

Permalink
optimize plugin cmakes
Browse files Browse the repository at this point in the history
  • Loading branch information
martinrotter committed Mar 21, 2024
1 parent 43477a1 commit b18ba28
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 95 deletions.
17 changes: 17 additions & 0 deletions src/cmake_plugins.cmake
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -25,4 +40,6 @@ function(prepare_rssguard_plugin plugin_target_name)
DESTINATION Contents/MacOS
)
endif()

message(STATUS "Plugin ${plugin_target_name} is prepared.")
endfunction()
16 changes: 1 addition & 15 deletions src/librssguard-feedly/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand All @@ -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})
17 changes: 1 addition & 16 deletions src/librssguard-gmail/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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})
17 changes: 1 addition & 16 deletions src/librssguard-greader/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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})
15 changes: 0 additions & 15 deletions src/librssguard-nextcloud/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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})
18 changes: 1 addition & 17 deletions src/librssguard-standard/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -100,5 +86,3 @@ if(ZLIB_FOUND)
${ZLIB_LIBRARIES}
)
endif(ZLIB_FOUND)

prepare_rssguard_plugin(${PLUGIN_TARGET})
16 changes: 0 additions & 16 deletions src/librssguard-ttrss/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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})

0 comments on commit b18ba28

Please sign in to comment.