Warning, /pim/libksieve/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2011-2024 Laurent Montel <montel@kde.org> 0002 # SPDX-License-Identifier: BSD-3-Clause 0003 cmake_minimum_required(VERSION 3.16 FATAL_ERROR) 0004 set(PIM_VERSION "6.0.40") 0005 0006 project(libksieve VERSION ${PIM_VERSION}) 0007 0008 set(KF_MIN_VERSION "5.248.0") 0009 set(QT_REQUIRED_VERSION "6.6.0") 0010 find_package(ECM ${KF_MIN_VERSION} CONFIG REQUIRED) 0011 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) 0012 0013 include(KDEInstallDirs) 0014 include(KDECMakeSettings) 0015 include(KDECompilerSettings NO_POLICY_SCOPE) 0016 0017 include(GenerateExportHeader) 0018 include(ECMGenerateHeaders) 0019 0020 include(ECMSetupVersion) 0021 include(FeatureSummary) 0022 include(KDEGitCommitHooks) 0023 include(KDEClangFormat) 0024 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h *.c) 0025 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0026 include(ECMQtDeclareLoggingCategory) 0027 include(ECMDeprecationSettings) 0028 include(ECMFeatureSummary) 0029 include(ECMAddTests) 0030 include(ECMAddQch) 0031 set(KTEXTADDONS_MIN_VERSION "1.5.3") 0032 0033 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) 0034 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") 0035 0036 set(LIBKSIEVE_LIB_VERSION ${PIM_VERSION}) 0037 set(KMIME_LIB_VERSION "6.0.40") 0038 set(IDENTITYMANAGEMENT_LIB_VERSION "6.0.40") 0039 set(KMAILTRANSPORT_LIB_VERSION "6.0.40") 0040 set(KPIMTEXTEDIT_LIB_VERSION "6.0.40") 0041 set(LIBKDEPIM_LIB_VERSION "6.0.40") 0042 set(PIMCOMMON_LIB_VERSION "6.0.40") 0043 set(KIMAP_LIB_VERSION "6.0.40") 0044 0045 option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF) 0046 0047 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT OFF) 0048 if (USE_UNITY_CMAKE_SUPPORT) 0049 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT ON) 0050 endif() 0051 0052 option(KDEPIM_ENTERPRISE_BUILD "Enable features specific to the enterprise branch, which are normally disabled. Also, it disables many components not needed for Kontact such as the Kolab client." FALSE) 0053 # Look for Sasl2 before anything else 0054 find_package(Sasl2) 0055 set_package_properties(Sasl2 PROPERTIES TYPE REQUIRED) 0056 0057 find_package(Qt6 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Widgets PrintSupport WebEngineWidgets) 0058 find_package(KF6I18n ${KF_MIN_VERSION} CONFIG REQUIRED) 0059 find_package(KF6KIO ${KF_MIN_VERSION} CONFIG REQUIRED) 0060 find_package(KF6CoreAddons ${KF_MIN_VERSION} CONFIG REQUIRED) 0061 find_package(KF6IconThemes ${KF_MIN_VERSION} CONFIG REQUIRED) 0062 find_package(KPim6PimCommon ${PIMCOMMON_LIB_VERSION} CONFIG REQUIRED) 0063 find_package(KPim6Libkdepim ${LIBKDEPIM_LIB_VERSION} CONFIG REQUIRED) 0064 find_package(KF6NewStuff ${KF_MIN_VERSION} CONFIG REQUIRED) 0065 find_package(KF6Archive ${KF_MIN_VERSION} CONFIG REQUIRED) 0066 find_package(KF6SyntaxHighlighting ${KF_MIN_VERSION} CONFIG REQUIRED) 0067 find_package(KF6Sonnet ${KF_MIN_VERSION} CONFIG REQUIRED) 0068 find_package(KPim6Mime ${KMIME_LIB_VERSION} CONFIG REQUIRED) 0069 find_package(KPim6IdentityManagementCore ${IDENTITYMANAGEMENT_LIB_VERSION} CONFIG REQUIRED) 0070 find_package(KPim6MailTransport ${KMAILTRANSPORT_LIB_VERSION} CONFIG REQUIRED) 0071 find_package(KPim6IMAP ${KIMAP_LIB_VERSION} CONFIG REQUIRED) 0072 0073 find_package(KF6TextEditTextToSpeech ${KTEXTADDONS_MIN_VERSION} CONFIG) 0074 if (TARGET KF6::TextEditTextToSpeech) 0075 add_definitions(-DHAVE_KTEXTADDONS_TEXT_TO_SPEECH_SUPPORT) 0076 endif() 0077 find_package(KF6TextCustomEditor ${KTEXTADDONS_MIN_VERSION} CONFIG REQUIRED) 0078 find_package(KF6TextAddonsWidgets ${KTEXTADDONS_MIN_VERSION} CONFIG REQUIRED) 0079 find_package(KF6TextUtils ${KTEXTADDONS_MIN_VERSION} CONFIG REQUIRED) 0080 find_package(KF6DocTools ${KF_MIN_VERSION}) 0081 set_package_properties(KF6DocTools PROPERTIES DESCRIPTION 0082 "Tools to generate documentation" 0083 TYPE OPTIONAL 0084 ) 0085 0086 0087 add_definitions(-DDONT_HAVE_TEXT_TO_SPEACH_SUPPORT) 0088 0089 0090 0091 ########### Targets ########### 0092 0093 0094 ecm_set_disabled_deprecation_versions(QT 6.6.0 KF 5.249.0) 0095 0096 0097 ########### CMake Config Files ########### 0098 if(BUILD_TESTING) 0099 find_package(Qt6 ${QT_REQUIRED_VERSION} CONFIG REQUIRED COMPONENTS Test) 0100 add_subdirectory(autotests) 0101 endif() 0102 0103 add_subdirectory(src) 0104 0105 ecm_qt_install_logging_categories( 0106 EXPORT LIBKSIEVE 0107 FILE libksieve.categories 0108 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0109 ) 0110 0111 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0112 0113 ki18n_install(po) 0114 if(KF6DocTools_FOUND) 0115 kdoctools_install(po) 0116 endif() 0117 0118 ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 0119