rssguard/src/cmake_plugins.cmake

46 lines
1.2 KiB
CMake

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
)
target_include_directories(${plugin_target_name}
PUBLIC
${LIBRSSGUARD_SOURCE_PATH}
)
if((WIN32 AND NOT BUILD_MSYS2) OR OS2)
install(TARGETS ${plugin_target_name} DESTINATION plugins)
elseif((MINGW AND BUILD_MSYS2) OR (UNIX AND NOT APPLE AND NOT ANDROID))
include (GNUInstallDirs)
install(TARGETS ${plugin_target_name}
DESTINATION ${CMAKE_INSTALL_LIBDIR}/rssguard
)
elseif(APPLE)
install(TARGETS ${plugin_target_name}
DESTINATION Contents/MacOS
)
endif()
message(STATUS "Plugin ${plugin_target_name} is prepared.")
endfunction()