Warning, /frameworks/knewstuff/src/core/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: KDE Contributors 0002 # SPDX-License-Identifier: BSD-2-Clause 0003 0004 set(KNEWSTUFFCORE_INSTALL_INCLUDEDIR "${KDE_INSTALL_INCLUDEDIR_KF}/KNewStuffCore") 0005 0006 set(KNewStuffCore_SRCS 0007 author.cpp 0008 commentsmodel.cpp 0009 cache.cpp 0010 enginebase.cpp 0011 entry.cpp 0012 imageloader.cpp 0013 installation.cpp 0014 itemsmodel.cpp 0015 provider.cpp 0016 providersmodel.cpp 0017 tagsfilterchecker.cpp 0018 xmlloader.cpp 0019 errorcode.cpp 0020 resultsstream.cpp 0021 transaction.cpp 0022 0023 # A system by which queries can be passed to the user, and responses 0024 # gathered, depending on implementation. See question.h for details. 0025 question.cpp 0026 questionmanager.cpp 0027 questionlistener.cpp 0028 0029 ../attica/atticaprovider.cpp 0030 ../staticxml/staticxmlprovider.cpp 0031 ) 0032 if(KF6Syndication_FOUND) 0033 set(KNewStuffCore_syndication_SRCS 0034 ../opds/opdsprovider.cpp 0035 ) 0036 endif() 0037 0038 add_library(knscore_jobs_static STATIC) 0039 target_sources(knscore_jobs_static PRIVATE 0040 # A set of minimal KJob based classes, designed to replace the 0041 # more powerful KIO based system in places where KIO is not available 0042 # for one reason or another. 0043 jobs/downloadjob.cpp 0044 jobs/filecopyjob.cpp 0045 jobs/filecopyworker.cpp 0046 jobs/httpjob.cpp 0047 jobs/httpworker.cpp 0048 ) 0049 target_link_libraries(knscore_jobs_static PUBLIC Qt6::Network KF6::I18n KF6::CoreAddons KF6::Package) 0050 target_include_directories(knscore_jobs_static PRIVATE ${CMAKE_BINARY_DIR}) 0051 # Needed to link this static lib to shared libs 0052 set_property(TARGET knscore_jobs_static PROPERTY POSITION_INDEPENDENT_CODE ON) 0053 0054 ecm_qt_declare_logging_category(knscore_jobs_static 0055 HEADER knewstuffcore_debug.h 0056 IDENTIFIER KNEWSTUFFCORE 0057 CATEGORY_NAME kf.newstuff.core 0058 OLD_CATEGORY_NAMES org.kde.knewstuff.core 0059 DESCRIPTION "knewstuff (Core Lib)" 0060 EXPORT KNEWSTUFF 0061 ) 0062 0063 add_library(KF6NewStuffCore ${KNewStuffCore_SRCS} ${KNewStuffCore_syndication_SRCS}) 0064 add_library(KF6::NewStuffCore ALIAS KF6NewStuffCore ) 0065 0066 set_target_properties(KF6NewStuffCore PROPERTIES 0067 VERSION ${KNEWSTUFF_VERSION} 0068 SOVERSION ${KNEWSTUFF_SOVERSION} 0069 EXPORT_NAME NewStuffCore 0070 ) 0071 0072 ecm_generate_export_header(KF6NewStuffCore 0073 EXPORT_FILE_NAME knewstuffcore_export.h 0074 BASE_NAME KNewStuffCore 0075 GROUP_BASE_NAME KF 0076 VERSION ${KF_VERSION} 0077 USE_VERSION_HEADER 0078 VERSION_BASE_NAME KNewStuff 0079 DEPRECATED_BASE_VERSION 0 0080 EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT} 0081 DEPRECATION_VERSIONS 0082 ) 0083 0084 set(KNewStuffCore_BUILD_INCLUDE_DIRS 0085 ${KNewStuff_BINARY_DIR} 0086 ${CMAKE_CURRENT_BINARY_DIR} 0087 ${CMAKE_SOURCE_DIR}/src 0088 ) 0089 0090 target_include_directories(KF6NewStuffCore 0091 PUBLIC "$<BUILD_INTERFACE:${KNewStuffCore_BUILD_INCLUDE_DIRS}>" 0092 INTERFACE 0093 "$<INSTALL_INTERFACE:${KNEWSTUFFCORE_INSTALL_INCLUDEDIR}>" 0094 "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KNewStuff>" # module version header 0095 ) 0096 0097 target_link_libraries(KF6NewStuffCore 0098 PUBLIC 0099 KF6::Attica # For interacting with ocs providers, public for uploaddialog slots 0100 KF6::CoreAddons 0101 Qt6::Gui # For QImage 0102 PRIVATE 0103 KF6::Archive # For decompressing archives 0104 KF6::I18n # For translations 0105 KF6::ConfigCore 0106 KF6::Package 0107 Qt6::Xml 0108 knscore_jobs_static 0109 ) 0110 0111 if(KF6Syndication_FOUND) 0112 target_compile_definitions(KF6NewStuffCore PRIVATE -DSYNDICATION_FOUND="${KF6Syndication_FOUND}") 0113 target_link_libraries(KF6NewStuffCore 0114 PRIVATE 0115 KF6::Syndication #OPDS 0116 ) 0117 endif() 0118 0119 ecm_generate_headers(KNewStuffCore_CamelCase_HEADERS 0120 HEADER_NAMES 0121 Author 0122 Cache 0123 EngineBase 0124 Entry 0125 ErrorCode 0126 ItemsModel 0127 Provider 0128 ProvidersModel 0129 Question 0130 QuestionListener 0131 QuestionManager 0132 ResultsStream 0133 TagsFilterChecker 0134 Transaction 0135 0136 REQUIRED_HEADERS KNewStuffCore_HEADERS 0137 OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/KNSCore 0138 ) 0139 0140 install(TARGETS KF6NewStuffCore EXPORT KF6NewStuffCoreTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) 0141 0142 install( 0143 FILES 0144 ${KNewStuffCore_CamelCase_HEADERS} 0145 ${KNewStuffCore_HEADERS} 0146 ${CMAKE_CURRENT_BINARY_DIR}/knewstuffcore_export.h 0147 DESTINATION 0148 ${KNEWSTUFFCORE_INSTALL_INCLUDEDIR}/KNSCore 0149 COMPONENT Devel 0150 ) 0151 0152 if(BUILD_QCH) 0153 ecm_add_qch( 0154 KF6NewStuffCore_QCH 0155 NAME KNewStuffCore 0156 BASE_NAME KF6NewStuffCore 0157 VERSION ${KF_VERSION} 0158 ORG_DOMAIN org.kde 0159 SOURCES ${KNewStuffCore_HEADERS} 0160 LINK_QCHS 0161 KF6Attica_QCH 0162 KF6CoreAddons_QCH 0163 INCLUDE_DIRS 0164 ${KNewStuffCore_BUILD_INCLUDE_DIRS} 0165 BLANK_MACROS 0166 KNEWSTUFFCORE_EXPORT 0167 KNEWSTUFFCORE_DEPRECATED 0168 KNEWSTUFFCORE_DEPRECATED_EXPORT 0169 "KNEWSTUFFCORE_DEPRECATED_VERSION(x, y, t)" 0170 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0171 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0172 COMPONENT Devel 0173 ) 0174 endif() 0175