rssguard/src/librssguard-standard/CMakeLists.txt
Martin Rotter d04c329766 cmakelists
2024-03-21 09:53:01 +01:00

135 lines
3.2 KiB
CMake

if(NOT DEFINED LIBRSSGUARD_BINARY_PATH)
set(LIBRSSGUARD_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/..")
endif()
set(SOURCES
src/definitions.h
src/gui/formdiscoverfeeds.cpp
src/gui/formdiscoverfeeds.h
src/gui/formeditstandardaccount.cpp
src/gui/formeditstandardaccount.h
src/gui/formstandardfeeddetails.cpp
src/gui/formstandardfeeddetails.h
src/gui/formstandardimportexport.cpp
src/gui/formstandardimportexport.h
src/gui/standardaccountdetails.cpp
src/gui/standardaccountdetails.h
src/gui/standardfeeddetails.cpp
src/gui/standardfeeddetails.h
src/parsers/atomparser.cpp
src/parsers/atomparser.h
src/parsers/feedparser.cpp
src/parsers/feedparser.h
src/parsers/icalparser.cpp
src/parsers/icalparser.h
src/parsers/jsonparser.cpp
src/parsers/jsonparser.h
src/parsers/rdfparser.cpp
src/parsers/rdfparser.h
src/parsers/rssparser.cpp
src/parsers/rssparser.h
src/parsers/sitemapparser.cpp
src/parsers/sitemapparser.h
src/standardcategory.cpp
src/standardcategory.h
src/standardfeed.cpp
src/standardfeed.h
src/standardfeedsimportexportmodel.cpp
src/standardfeedsimportexportmodel.h
src/standardserviceentrypoint.cpp
src/standardserviceentrypoint.h
src/standardserviceroot.cpp
src/standardserviceroot.h
)
set(UI_FILES
src/gui/formdiscoverfeeds.ui
src/gui/formstandardimportexport.ui
src/gui/standardaccountdetails.ui
src/gui/standardfeeddetails.ui
)
# Add ZLIB.
if(ENABLE_COMPRESSED_SITEMAP)
find_package(ZLIB REQUIRED)
# Add qcompressor.
list(APPEND SOURCES
src/3rd-party/qcompressor/qcompressor.cpp
src/3rd-party/qcompressor/qcompressor.h
)
endif(ENABLE_COMPRESSED_SITEMAP)
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(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}
)
# Qt.
target_link_libraries(rssguard-standard 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
Qt${QT_VERSION_MAJOR}::Core5Compat
)
endif()
if(ZLIB_FOUND)
target_include_directories(rssguard-standard AFTER
PRIVATE
${ZLIB_INCLUDE_DIRS}
)
target_compile_definitions(rssguard-standard
PRIVATE
ENABLE_COMPRESSED_SITEMAP
)
target_link_libraries(rssguard-standard 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()