Warning, /pim/pimcommon/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-License-Identifier: CC0-1.0 0002 # SPDX-FileCopyrightText: none 0003 cmake_minimum_required(VERSION 3.16 FATAL_ERROR) 0004 set(PIM_VERSION "6.0.40") 0005 0006 project(pimcommon 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(ECMGenerateExportHeader) 0018 include(ECMSetupVersion) 0019 include(ECMGenerateHeaders) 0020 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 0027 include(ECMQtDeclareLoggingCategory) 0028 include(ECMDeprecationSettings) 0029 include(ECMFeatureSummary) 0030 include(ECMAddTests) 0031 include(ECMInstallIcons) 0032 include(ECMAddQtDesignerPlugin) 0033 include(ECMAddQch) 0034 0035 0036 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) 0037 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") 0038 0039 set(PIMCOMMON_LIB_VERSION ${PIM_VERSION}) 0040 set(LIBKDEPIM_LIB_VERSION "6.0.40") 0041 set(KTEXTADDONS_MIN_VERSION "1.5.3") 0042 set(KIMAP_LIB_VERSION "6.0.40") 0043 set(KLDAP_LIB_VERSION "6.0.40") 0044 0045 set(AKONADICONTACT_LIB_VERSION "6.0.40") 0046 set(AKONADI_VERSION "6.0.40") 0047 0048 find_package(Qt6 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Widgets DBus Network Xml) 0049 0050 find_package(KF6Archive ${KF_MIN_VERSION} CONFIG REQUIRED) 0051 find_package(KF6Codecs ${KF_MIN_VERSION} CONFIG REQUIRED) 0052 find_package(KF6Config ${KF_MIN_VERSION} CONFIG REQUIRED) 0053 find_package(KF6Contacts ${KF_MIN_VERSION} CONFIG REQUIRED) 0054 find_package(KF6CoreAddons ${KF_MIN_VERSION} CONFIG REQUIRED) 0055 find_package(KF6I18n ${KF_MIN_VERSION} CONFIG REQUIRED) 0056 find_package(KF6ItemModels ${KF_MIN_VERSION} CONFIG REQUIRED) 0057 find_package(KF6JobWidgets ${KF_MIN_VERSION} CONFIG REQUIRED) 0058 find_package(KF6KCMUtils ${KF_MIN_VERSION} CONFIG REQUIRED) 0059 find_package(KF6KIO ${KF_MIN_VERSION} CONFIG REQUIRED) 0060 find_package(KF6NewStuff ${KF_MIN_VERSION} CONFIG REQUIRED) 0061 find_package(KF6Purpose ${KF_MIN_VERSION} CONFIG REQUIRED) 0062 find_package(KF6Service ${KF_MIN_VERSION} CONFIG REQUIRED) 0063 find_package(KF6WidgetsAddons ${KF_MIN_VERSION} CONFIG REQUIRED) 0064 find_package(KF6XmlGui ${KF_MIN_VERSION} CONFIG REQUIRED) 0065 find_package(KF6WidgetsAddons ${KF_MIN_VERSION} CONFIG REQUIRED) 0066 find_package(KF6TextWidgets ${KF_MIN_VERSION} CONFIG REQUIRED) 0067 0068 find_package(KPim6Akonadi ${AKONADI_VERSION} CONFIG REQUIRED) 0069 find_package(KPim6AkonadiContactWidgets ${AKONADICONTACT_LIB_VERSION} CONFIG REQUIRED) 0070 find_package(KPim6IMAP ${KIMAP_LIB_VERSION} CONFIG REQUIRED) 0071 find_package(KPim6LdapWidgets ${KLDAP_LIB_VERSION} CONFIG REQUIRED) 0072 find_package(KPim6Libkdepim ${LIBKDEPIM_LIB_VERSION} CONFIG REQUIRED) 0073 0074 option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF) 0075 0076 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT OFF) 0077 if (USE_UNITY_CMAKE_SUPPORT) 0078 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT ON) 0079 endif() 0080 0081 option(BUILD_DESIGNERPLUGIN "Build plugin for Qt Designer" ON) 0082 add_feature_info(DESIGNERPLUGIN ${BUILD_DESIGNERPLUGIN} "Build plugin for Qt Designer") 0083 0084 0085 option(FORCE_DISABLE_AKONADI_SEARCH "Disable features and API that require akonadi-search, e.g. because xapian isn't available" OFF) 0086 if (UNIX) 0087 if (NOT FORCE_DISABLE_AKONADI_SEARCH) 0088 find_package(KPim6AkonadiSearch ${AKONADI_SEARCH_VERSION} CONFIG REQUIRED) 0089 set_package_properties(KPim6AkonadiSearch PROPERTIES DESCRIPTION "The Akonadi Search libraries" URL "https://invent.kde.org/pim/akonadi-search" TYPE REQUIRED PURPOSE "Provides search capabilities in KMail and Akonadi") 0090 endif() 0091 else() 0092 if (NOT FORCE_DISABLE_AKONADI_SEARCH) 0093 find_package(KPim6AkonadiSearch ${AKONADI_SEARCH_VERSION} CONFIG) 0094 set_package_properties(KPim6AkonadiSearch PROPERTIES DESCRIPTION "The Akonadi Search libraries" URL "https://invent.kde.org/pim/akonadi-search" TYPE OPTIONAL PURPOSE "Provides search capabilities in KMail and Akonadi") 0095 endif() 0096 endif() 0097 0098 if (NOT KPim6AkonadiSearch_FOUND) 0099 set(FORCE_DISABLE_AKONADI_SEARCH TRUE) 0100 endif() 0101 0102 set(DISABLE_AKONADI_SEARCH ${FORCE_DISABLE_AKONADI_SEARCH}) 0103 configure_file(config-akonadi-search.h.in ${CMAKE_CURRENT_BINARY_DIR}/src/config-akonadi-search.h) 0104 0105 option(ENABLE_WARN_OUTDATED "Warn users if using an old version; if you long term supported distribution, you might want to set this to off" ON) 0106 0107 if(BUILD_TESTING) 0108 add_definitions(-DBUILD_TESTING) 0109 find_package(Qt6 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Test) 0110 endif(BUILD_TESTING) 0111 0112 ########### Targets ########### 0113 0114 add_definitions(-DQT_NO_CONTEXTLESS_CONNECT) 0115 ecm_set_disabled_deprecation_versions(QT 6.6.0 KF 5.249.0) 0116 0117 find_package(KF6TextAutoCorrectionWidgets ${KTEXTADDONS_MIN_VERSION} CONFIG REQUIRED) 0118 find_package(KF6TextAddonsWidgets ${KTEXTADDONS_MIN_VERSION} CONFIG REQUIRED) 0119 find_package(KF6TextCustomEditor ${KTEXTADDONS_MIN_VERSION} CONFIG REQUIRED) 0120 0121 add_subdirectory(src) 0122 ecm_qt_install_logging_categories( 0123 EXPORT PIMCOMMON 0124 FILE pimcommon.categories 0125 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0126 ) 0127 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0128 ki18n_install(po) 0129 ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)