Warning, /pim/pim-sieve-editor/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # SPDX-FileCopyrightText: 2013-2024 Laurent Montel <montel@kde.org>
0002 # SPDX-License-Identifier: BSD-3-Clause
0003 
0004 cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
0005 set(PIM_VERSION "6.0.0")
0006 project( sieveeditor VERSION ${PIM_VERSION})
0007 set(RELEASE_SERVICE_VERSION "24.02.0")
0008 
0009 
0010 set(KF_MIN_VERSION "5.246.0")
0011 set(QT_REQUIRED_VERSION "6.6.0")
0012 
0013 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE)
0014 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
0015 include(ECMInstallIcons)
0016 
0017 
0018 include(ECMSetupVersion)
0019 include(ECMAddTests)
0020 
0021 include(GenerateExportHeader)
0022 include(ECMGenerateHeaders)
0023 
0024 include(FeatureSummary)
0025 include(KDEGitCommitHooks)
0026 include(KDEClangFormat)
0027 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h *.c)
0028 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0029 include(CheckFunctionExists)
0030 
0031 include(KDEInstallDirs)
0032 include(KDECMakeSettings)
0033 include(KDECompilerSettings NO_POLICY_SCOPE)
0034 include(ECMAddAppIcon)
0035 include(ECMQtDeclareLoggingCategory)
0036 include(ECMDeprecationSettings)
0037 
0038 # Do NOT add quote
0039 set(KDEPIM_DEV_VERSION)
0040 
0041 # add an extra space
0042 if(DEFINED KDEPIM_DEV_VERSION)
0043     set(KDEPIM_DEV_VERSION " ${KDEPIM_DEV_VERSION}")
0044 endif()
0045 
0046 set(KDEPIM_VERSION "${PIM_VERSION}${KDEPIM_DEV_VERSION} (${RELEASE_SERVICE_VERSION})")
0047 
0048 set(KMAILTRANSPORT_LIB_VERSION "5.240.85")
0049 
0050 set(KDEPIM_LIB_VERSION "${PIM_VERSION}")
0051 set(KDEPIM_LIB_SOVERSION "6")
0052 
0053 set(LIBKSIEVE_LIB_VERSION "5.240.85")
0054 set(PIMCOMMON_LIB_VERSION "5.240.86")
0055 set(KIMAP_LIB_VERSION "5.240.85")
0056 
0057 
0058 find_package(Qt6 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Widgets Network)
0059 
0060 # Find KF6 package
0061 find_package(KF6DBusAddons ${KF_MIN_VERSION} CONFIG REQUIRED)
0062 find_package(KF6CoreAddons ${KF_MIN_VERSION} REQUIRED)
0063 find_package(KF6Crash ${KF_MIN_VERSION} REQUIRED)
0064 find_package(KF6Bookmarks ${KF_MIN_VERSION} REQUIRED)
0065 find_package(KF6KIO ${KF_MIN_VERSION} REQUIRED)
0066 find_package(KF6XmlGui ${KF_MIN_VERSION} REQUIRED)
0067 find_package(KF6DocTools ${KF_MIN_VERSION})
0068 find_package(KF6I18n ${KF_MIN_VERSION})
0069 set_package_properties(KF6DocTools PROPERTIES DESCRIPTION
0070     "Tools to generate documentation"
0071     TYPE OPTIONAL
0072 )
0073 find_package(KF6UserFeedback ${KF_MIN_VERSION} CONFIG)
0074 set_package_properties(KF6::UserFeedback PROPERTIES DESCRIPTION "User Feedback lib" TYPE OPTIONAL PURPOSE "Allow to send Telemetry Information (optional).")
0075 
0076 
0077 # Find KdepimLibs Package
0078 find_package(KPim6MailTransport ${KMAILTRANSPORT_LIB_VERSION} CONFIG REQUIRED)
0079 
0080 find_package(KPim6PimCommon ${PIMCOMMON_LIB_VERSION} CONFIG REQUIRED)
0081 find_package(KPim6KSieveUi ${LIBKSIEVE_LIB_VERSION} CONFIG REQUIRED)
0082 find_package(KPim6IMAP ${KIMAP_LIB_VERSION} CONFIG REQUIRED)
0083 
0084 find_package(Qt6Keychain CONFIG)
0085 set_package_properties(Qt6Keychain PROPERTIES
0086                                    DESCRIPTION "Provides support for secure credentials storage"
0087                                    URL "https://github.com/frankosterfeld/qtkeychain"
0088                                    TYPE REQUIRED)
0089 
0090 if (Qt6Keychain_VERSION VERSION_LESS 0.14.2)
0091      MESSAGE(STATUS "Qt6KeyChain version is less 0.14.2. It will not support KWallet 6... It will not able to load password. Please update it.")
0092 endif()
0093 
0094 
0095 include_directories(${sieveeditor_SOURCE_DIR} ${sieveeditor_BINARY_DIR})
0096 
0097 add_definitions(-DQT_NO_CONTEXTLESS_CONNECT)
0098 ecm_set_disabled_deprecation_versions(QT 6.6  KF 5.248.0)
0099 
0100 
0101 option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF)
0102 
0103 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT OFF)
0104 if (USE_UNITY_CMAKE_SUPPORT)
0105     set(COMPILE_WITH_UNITY_CMAKE_SUPPORT ON)
0106 endif()
0107 
0108 if(BUILD_TESTING)
0109    add_definitions(-DBUILD_TESTING)
0110    find_package(Qt6 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Test)
0111 endif()
0112 add_subdirectory(src)
0113 if (BUILD_TESTING)
0114     add_subdirectory(autotests)
0115 endif()
0116 
0117 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
0118 ki18n_install(po)
0119 
0120 if(KF6DocTools_FOUND)
0121     kdoctools_install(po)
0122     add_subdirectory(doc)
0123 endif()
0124 
0125 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
0126