Warning, /pim/kdepim-runtime/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16 FATAL_ERROR) 0002 set(PIM_VERSION "6.0.0") 0003 set(KDEPIM_RUNTIME_VERSION_NUMBER ${PIM_VERSION}) 0004 project(kdepim-runtime VERSION ${KDEPIM_RUNTIME_VERSION_NUMBER}) 0005 0006 set(KDEPIM_DEV_VERSION) 0007 set(RELEASE_SERVICE_VERSION "24.02.0") 0008 0009 # add an extra space 0010 if(DEFINED KDEPIM_DEV_VERSION) 0011 set(KDEPIM_DEV_VERSION " ${KDEPIM_DEV_VERSION}") 0012 endif() 0013 0014 set(KDEPIM_RUNTIME_VERSION "${KDEPIM_RUNTIME_VERSION_NUMBER}${KDEPIM_DEV_VERSION} (${RELEASE_SERVICE_VERSION})") 0015 0016 configure_file(kdepim-runtime-version.h.in ${CMAKE_CURRENT_BINARY_DIR}/kdepim-runtime-version.h @ONLY) 0017 0018 set(KF_MIN_VERSION "5.246.0") 0019 0020 find_package(ECM ${KF_MIN_VERSION} CONFIG REQUIRED) 0021 set(CMAKE_MODULE_PATH ${kdepim-runtime_SOURCE_DIR}/cmake/ ${ECM_MODULE_PATH}) 0022 0023 include(KDEInstallDirs) 0024 include(KDECMakeSettings) 0025 include(KDECompilerSettings NO_POLICY_SCOPE) 0026 0027 include(ECMSetupVersion) 0028 include(FeatureSummary) 0029 include(KDEGitCommitHooks) 0030 include(KDEClangFormat) 0031 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h *.c) 0032 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0033 include(ECMInstallIcons) 0034 include(ECMQtDeclareLoggingCategory) 0035 include(ECMDeprecationSettings) 0036 include(GenerateExportHeader) 0037 0038 set(QT_REQUIRED_VERSION "6.6.0") 0039 0040 set(KDEPIMRUNTIME_LIB_VERSION "${KDEPIM_RUNTIME_VERSION_NUMBER}") 0041 set(KDEPIMRUNTIME_LIB_SOVERSION "6") 0042 set(AKONADI_VERSION "6.0.0") 0043 0044 set(IDENTITYMANAGEMENT_LIB_VERSION "6.0.0") 0045 set(KMAILTRANSPORT_LIB_VERSION "6.0.0") 0046 set(CALENDARUTILS_LIB_VERSION "6.0.0") 0047 set(KIMAP_LIB_VERSION "6.0.0") 0048 set(KMBOX_LIB_VERSION "6.0.0") 0049 set(AKONADICALENDAR_LIB_VERSION "6.0.0") 0050 set(KMIME_LIB_VERSION "6.0.0") 0051 set(AKONADIMIME_LIB_VERSION "6.0.0") 0052 set(AKONADICONTACT_LIB_VERSION "6.0.0") 0053 set(AKONADINOTE_LIB_VERSION "6.0.0") 0054 set(KGAPI_LIB_VERSION "6.0.0") 0055 set(KLDAP_LIB_VERSION "6.0.0") 0056 set(KTEXTADDONS_MIN_VERSION "1.5.2") 0057 0058 set( SharedMimeInfo_MINIMUM_VERSION "1.3" ) 0059 find_package(SharedMimeInfo ${SharedMimeInfo_MINIMUM_VERSION} REQUIRED) 0060 0061 find_package(Sasl2) 0062 set_package_properties(Sasl2 PROPERTIES TYPE REQUIRED) 0063 0064 find_package(Qca-qt6 2.3.7 CONFIG REQUIRED) 0065 set_package_properties(Qca-qt6 PROPERTIES DESCRIPTION "Qt Cryptographic Architecture" 0066 URL "https://invent.kde.org/libraries/qca" TYPE REQUIRED 0067 PURPOSE "Needed for ews resource.") 0068 option(KDEPIM_RUN_AKONADI_TEST "Enable autotest based on Akonadi." TRUE) 0069 # QT5 package 0070 find_package(Qt6TextToSpeech ${QT_REQUIRED_VERSION} CONFIG) 0071 set_package_properties(Qt6TextToSpeech PROPERTIES DESCRIPTION 0072 "Add support for texttospeech" 0073 TYPE OPTIONAL 0074 ) 0075 if(Qt6TextToSpeech_FOUND) 0076 set(HAVE_TEXT_TO_SPEECH_SUPPORT TRUE) 0077 endif() 0078 find_package(Qt6 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Network Widgets Test DBus NetworkAuth) 0079 find_package(Qt6WebEngineWidgets ${QT_REQUIRED_VERSION} CONFIG) 0080 0081 # KF6 package 0082 find_package(KF6Config ${KF_MIN_VERSION} CONFIG REQUIRED) 0083 find_package(KF6ConfigWidgets ${KF_MIN_VERSION} CONFIG REQUIRED) 0084 find_package(KF6NotifyConfig ${KF_MIN_VERSION} CONFIG REQUIRED) 0085 find_package(KF6KIO ${KF_MIN_VERSION} CONFIG REQUIRED) 0086 find_package(KF6ItemModels ${KF_MIN_VERSION} CONFIG REQUIRED) 0087 find_package(KF6Codecs ${KF_MIN_VERSION} CONFIG REQUIRED) 0088 find_package(KF6WindowSystem ${KF_MIN_VERSION} CONFIG REQUIRED) 0089 find_package(KF6TextWidgets ${KF_MIN_VERSION} CONFIG REQUIRED) # for KPluralHandlingSpinBox 0090 find_package(KF6Notifications ${KF_MIN_VERSION} CONFIG REQUIRED) # pop3, ews 0091 find_package(KF6KCMUtils ${KF_MIN_VERSION} CONFIG REQUIRED) 0092 find_package(KF6DAV ${KF_MIN_VERSION} CONFIG REQUIRED) 0093 find_package(KF6Wallet ${KF_MIN_VERSION} CONFIG REQUIRED) 0094 0095 find_package(KF6TextCustomEditor ${KTEXTADDONS_MIN_VERSION} CONFIG REQUIRED) 0096 0097 # KdepimLibs package 0098 find_package(KPim6Akonadi ${AKONADI_VERSION} CONFIG REQUIRED) 0099 find_package(KPim6Mime ${KMIME_LIB_VERSION} CONFIG REQUIRED) 0100 find_package(KPim6AkonadiMime ${AKONADIMIME_LIB_VERSION} CONFIG REQUIRED) 0101 find_package(KPim6MailTransport ${KMAILTRANSPORT_LIB_VERSION} CONFIG REQUIRED) 0102 find_package(KPim6IdentityManagementWidgets ${IDENTITYMANAGEMENT_LIB_VERSION} CONFIG REQUIRED) 0103 find_package(KPim6AkonadiContactWidgets ${AKONADICONTACT_LIB_VERSION} CONFIG REQUIRED) 0104 find_package(KF6Contacts ${KF_MIN_VERSION} CONFIG REQUIRED) 0105 find_package(KF6CalendarCore ${KF_MIN_VERSION} CONFIG REQUIRED) 0106 find_package(KPim6CalendarUtils ${CALENDARUTILS_LIB_VERSION} CONFIG REQUIRED) 0107 find_package(KPim6Mbox ${KMBOX_LIB_VERSION} CONFIG REQUIRED) 0108 find_package(KPim6IMAP ${KIMAP_LIB_VERSION} CONFIG REQUIRED) 0109 find_package(KPim6AkonadiNotes ${AKONADINOTE_LIB_VERSION} CONFIG REQUIRED) 0110 find_package(KPim6AkonadiCalendar ${AKONADICALENDAR_LIB_VERSION} CONFIG REQUIRED) 0111 find_package(KPim6GAPI ${KGAPI_LIB_VERSION} CONFIG REQUIRED) 0112 find_package(KPim6LdapWidgets ${KLDAP_LIB_VERSION} CONFIG REQUIRED) 0113 0114 #it will replace kwallet support 0115 find_package(Qt6Keychain CONFIG) 0116 set_package_properties(Qt6Keychain PROPERTIES 0117 DESCRIPTION "Provides support for secure credentials storage" 0118 URL "https://github.com/frankosterfeld/qtkeychain" 0119 TYPE REQUIRED) 0120 0121 if (Qt6Keychain_VERSION VERSION_LESS 0.14.2) 0122 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.") 0123 endif() 0124 0125 option(KDEPIM_RUN_ISOLATED_TESTS "Run the isolated tests." FALSE) 0126 ecm_set_disabled_deprecation_versions(QT 6.6.0 KF 5.248.0) 0127 0128 0129 option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF) 0130 0131 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT OFF) 0132 if (USE_UNITY_CMAKE_SUPPORT) 0133 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT ON) 0134 add_definitions(-DCOMPILE_WITH_UNITY_CMAKE_SUPPORT) 0135 endif() 0136 0137 if(BUILD_TESTING) 0138 add_definitions(-DBUILD_TESTING) 0139 endif() 0140 0141 add_subdirectory(resources) 0142 add_subdirectory(agents) 0143 add_subdirectory(defaultsetup) 0144 add_subdirectory(kioworker) 0145 add_subdirectory(migration) 0146 add_subdirectory(kcms) 0147 add_subdirectory(kmailtransport) 0148 ## install the MIME type spec file for KDEPIM specific MIME types 0149 install(FILES kdepim-mime.xml DESTINATION ${KDE_INSTALL_MIMEDIR}) 0150 update_xdg_mimetypes(${KDE_INSTALL_MIMEDIR}) 0151 ecm_qt_install_logging_categories( 0152 EXPORT KDEPIMRUNTIME 0153 FILE kdepim-runtime.categories 0154 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0155 ) 0156 0157 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0158 ki18n_install(po) 0159 0160 feature_summary(WHAT ALL 0161 INCLUDE_QUIET_PACKAGES 0162 FATAL_ON_MISSING_REQUIRED_PACKAGES 0163 )