Warning, /pim/libksieve/src/ksievecore/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2023-2024 Laurent Montel <montel.org> 0002 # SPDX-License-Identifier: BSD-3-Clause 0003 0004 ecm_setup_version(PROJECT VARIABLE_PREFIX LIBKSIEVECORE 0005 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/libksievecore_version.h" 0006 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPim6KSieveCoreConfigVersion.cmake" 0007 SOVERSION 6 0008 ) 0009 0010 add_library(KPim6KSieveCore) 0011 add_library(KPim6::KSieveCore ALIAS KPim6KSieveCore) 0012 0013 target_sources(KPim6KSieveCore PRIVATE 0014 sieveimapinstance/sieveimapinstance.cpp 0015 sieveimapinstance/sieveimapinstance.h 0016 sieveimapinstance/sieveimapinstanceinterface.cpp 0017 sieveimapinstance/sieveimapinstanceinterface.h 0018 sieveimapinstance/sieveimapinstanceinterfacemanager.cpp 0019 sieveimapinstance/sieveimapinstanceinterfacemanager.h 0020 ) 0021 0022 target_sources(KPim6KSieveCore PRIVATE 0023 managescriptsjob/checkkolabkep14supportjob.cpp 0024 managescriptsjob/checkkolabkep14supportjob.h 0025 managescriptsjob/generateglobalscriptjob.cpp 0026 managescriptsjob/generateglobalscriptjob.h 0027 managescriptsjob/parseuserscriptjob.cpp 0028 managescriptsjob/parseuserscriptjob.h 0029 managescriptsjob/renamescriptjob.cpp 0030 managescriptsjob/renamescriptjob.h 0031 managescriptsjob/checkscriptjob.cpp 0032 managescriptsjob/checkscriptjob.h 0033 ) 0034 0035 target_sources(KPim6KSieveCore PRIVATE 0036 util/util.cpp 0037 util/util.h 0038 util/abstractakonadiimapsettinginterface.cpp 0039 util/abstractakonadiimapsettinginterface.h 0040 util/akonadiimapsettinginterface.cpp 0041 util/akonadiimapsettinginterface.h 0042 util/sieveimapaccountsettings.cpp 0043 util/sieveimapaccountsettings.h 0044 util/findaccountinfojob.cpp 0045 util/findaccountinfojob.h 0046 util/sieveimappasswordprovider.cpp 0047 util/sieveimappasswordprovider.h 0048 ) 0049 0050 target_sources(KPim6KSieveCore PRIVATE 0051 scriptsparsing/xmlprintingscriptbuilder.cpp 0052 scriptsparsing/xmlprintingscriptbuilder.h 0053 scriptsparsing/parsingutil.cpp 0054 scriptsparsing/parsingutil.h 0055 ) 0056 0057 target_sources(KPim6KSieveCore PRIVATE 0058 vacation/vacationhelperjob.cpp 0059 vacation/vacationhelperjob.h 0060 vacation/vacationscriptextractor.cpp 0061 vacation/vacationscriptextractor.h 0062 vacation/vacationutils.cpp 0063 vacation/vacationutils.h 0064 vacation/vacationcreatescriptjob.cpp 0065 vacation/vacationcreatescriptjob.h 0066 vacation/vacationcheckjob.cpp 0067 vacation/vacationcheckjob.h 0068 vacation/searchserverwithvacationsupportjob.cpp 0069 vacation/searchserverwithvacationsupportjob.h 0070 vacation/multiimapvacationmanager.h 0071 vacation/multiimapvacationmanager.cpp 0072 ) 0073 0074 ecm_qt_declare_logging_category(KPim6KSieveCore HEADER libksievecore_debug.h IDENTIFIER LIBKSIEVECORE_LOG CATEGORY_NAME org.kde.pim.libksieve.core 0075 DESCRIPTION "kdepim (libksievecore)" 0076 EXPORT LIBKSIEVE 0077 ) 0078 kconfig_add_kcfg_files(KPim6KSieveCore settings/sieve-vacation.kcfgc) 0079 0080 0081 target_link_libraries(KPim6KSieveCore 0082 PUBLIC 0083 Qt::Core 0084 KPim6::KManageSieve 0085 KPim6::KSieve 0086 PRIVATE 0087 KPim6::PimCommon 0088 KF6::I18n 0089 KF6::CoreAddons 0090 KPim6::MailTransport 0091 KPim6::Mime 0092 KPim6::IdentityManagementCore 0093 ) 0094 0095 generate_export_header(KPim6KSieveCore BASE_NAME ksievecore) 0096 if (COMPILE_WITH_UNITY_CMAKE_SUPPORT) 0097 set_target_properties(KPim6KSieveCore PROPERTIES UNITY_BUILD ON) 0098 endif() 0099 0100 0101 set_target_properties(KPim6KSieveCore PROPERTIES 0102 VERSION ${LIBKSIEVECORE_VERSION} 0103 SOVERSION ${LIBKSIEVECORE_SOVERSION} 0104 EXPORT_NAME KSieveCore 0105 ) 0106 0107 target_include_directories(KPim6KSieveCore 0108 INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/KPim6/KSieveCore/;${KDE_INSTALL_INCLUDEDIR}/KPim6/KSieveCore>") 0109 target_include_directories(KPim6KSieveCore PUBLIC "$<BUILD_INTERFACE:${libksieve_SOURCE_DIR}/src/ksievecore;${libksieve_BINARY_DIR}/src/ksievecore>") 0110 0111 if(BUILD_TESTING) 0112 add_subdirectory(sieveimapinstance/autotests) 0113 add_subdirectory(managescriptsjob/autotests) 0114 add_subdirectory(util/autotests/) 0115 add_subdirectory(scriptsparsing/autotests) 0116 add_subdirectory(vacation/autotests) 0117 endif() 0118 0119 ecm_generate_headers(ksievecore_Camelcaseimapinstance_HEADERS 0120 HEADER_NAMES 0121 SieveImapInstance 0122 SieveImapInstanceInterface 0123 SieveImapInstanceInterfaceManager 0124 REQUIRED_HEADERS ksievecore_imapinstance_HEADERS 0125 PREFIX KSieveCore 0126 RELATIVE sieveimapinstance 0127 ) 0128 0129 ecm_generate_headers(ksievecore_Camelmanagescriptsjob_HEADERS 0130 HEADER_NAMES 0131 RenameScriptJob 0132 CheckScriptJob 0133 REQUIRED_HEADERS ksievecore_managescriptsjob_HEADERS 0134 PREFIX KSieveCore 0135 RELATIVE managescriptsjob 0136 ) 0137 0138 ecm_generate_headers(ksievecore_Camelcaseutil_HEADERS 0139 HEADER_NAMES 0140 Util 0141 SieveImapAccountSettings 0142 SieveImapPasswordProvider 0143 REQUIRED_HEADERS ksievecore_util_HEADERS 0144 PREFIX KSieveCore 0145 RELATIVE util 0146 ) 0147 0148 ecm_generate_headers(ksievecore_Camelcasescriptsparsing_HEADERS 0149 HEADER_NAMES 0150 XMLPrintingScriptBuilder 0151 ParsingUtil 0152 REQUIRED_HEADERS ksievecore_scriptsparsing_HEADERS 0153 PREFIX KSieveCore 0154 RELATIVE scriptsparsing 0155 ) 0156 0157 ecm_generate_headers(ksievecore_Camelcasevacation_HEADERS 0158 HEADER_NAMES 0159 SearchServerWithVacationSupportJob 0160 VacationUtils 0161 VacationCreateScriptJob 0162 VacationCheckJob 0163 MultiImapVacationManager 0164 REQUIRED_HEADERS ksievecore_vacation_HEADERS 0165 PREFIX KSieveCore 0166 RELATIVE vacation 0167 ) 0168 0169 install(TARGETS KPim6KSieveCore EXPORT KPim6KSieveCoreTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) 0170 install(FILES 0171 ${ksievecore_Camelcaseimapinstance_HEADERS} 0172 ${ksievecore_Camelmanagescriptsjob_HEADERS} 0173 ${ksievecore_Camelcaseutil_HEADERS} 0174 ${ksievecore_Camelcasescriptsparsing_HEADERS} 0175 ${ksievecore_Camelcasevacation_HEADERS} 0176 0177 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/KSieveCore/KSieveCore 0178 COMPONENT Devel 0179 ) 0180 0181 install(FILES 0182 ${CMAKE_CURRENT_BINARY_DIR}/ksievecore_export.h 0183 ${ksievecore_imapinstance_HEADERS} 0184 ${ksievecore_managescriptsjob_HEADERS} 0185 ${ksievecore_util_HEADERS} 0186 ${ksievecore_scriptsparsing_HEADERS} 0187 ${ksievecore_vacation_HEADERS} 0188 0189 ${CMAKE_CURRENT_BINARY_DIR}/sieve-vacation.h 0190 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/KSieveCore/ksievecore 0191 COMPONENT Devel 0192 ) 0193 0194 install(FILES 0195 ${CMAKE_CURRENT_BINARY_DIR}/libksievecore_version.h 0196 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/KSieveCore COMPONENT Devel 0197 ) 0198 0199 0200 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPim6KSieveCore") 0201 if (BUILD_QCH) 0202 ecm_add_qch( 0203 KPim6KSieveCore_QCH 0204 NAME KPim6KSieveCore 0205 BASE_NAME KPim6KSieveCore 0206 VERSION ${PIM_VERSION} 0207 ORG_DOMAIN org.kde 0208 SOURCES # using only public headers, to cover only public API 0209 ${ksievecore_imapinstance_HEADERS} 0210 ${ksievecore_managescriptsjob_HEADERS} 0211 ${ksievecore_util_HEADERS} 0212 ${ksievecore_scriptsparsing_HEADERS} 0213 ${ksievecore_vacation_HEADERS} 0214 LINK_QCHS 0215 Qt6Core_QCH 0216 INCLUDE_DIRS 0217 ${CMAKE_CURRENT_BINARY_DIR} 0218 BLANK_MACROS 0219 KSIEVECORE_EXPORT 0220 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0221 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0222 COMPONENT Devel 0223 ) 0224 endif() 0225 0226 0227 0228 if (BUILD_QCH) 0229 ecm_install_qch_export( 0230 TARGETS KPim6KSieveCore_QCH 0231 FILE KPim6KSieveCoreQchTargets.cmake 0232 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0233 COMPONENT Devel 0234 ) 0235 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KPim6KSieveCoreQchTargets.cmake\")") 0236 endif() 0237 0238 configure_package_config_file( 0239 "${CMAKE_CURRENT_SOURCE_DIR}/KPimKSieveCoreConfig.cmake.in" 0240 "${CMAKE_CURRENT_BINARY_DIR}/KPim6KSieveCoreConfig.cmake" 0241 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0242 ) 0243 0244 install(FILES 0245 "${CMAKE_CURRENT_BINARY_DIR}/KPim6KSieveCoreConfig.cmake" 0246 "${CMAKE_CURRENT_BINARY_DIR}/KPim6KSieveCoreConfigVersion.cmake" 0247 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0248 COMPONENT Devel 0249 ) 0250 0251 install(EXPORT KPim6KSieveCoreTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KPim6KSieveCoreTargets.cmake NAMESPACE KPim6::)