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.40") 0003 set(KDEPIM_RUNTIME_VERSION_NUMBER ${PIM_VERSION}) 0004 project(kdepim-runtime VERSION ${KDEPIM_RUNTIME_VERSION_NUMBER}) 0005 0006 set(KDEPIM_DEV_VERSION alpha) 0007 set(RELEASE_SERVICE_VERSION "24.04.40") 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.248.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(ECMFeatureSummary) 0037 include(GenerateExportHeader) 0038 0039 set(QT_REQUIRED_VERSION "6.6.0") 0040 0041 set(KDEPIMRUNTIME_LIB_VERSION "${KDEPIM_RUNTIME_VERSION_NUMBER}") 0042 set(KDEPIMRUNTIME_LIB_SOVERSION "6") 0043 set(AKONADI_VERSION "6.0.40") 0044 0045 set(IDENTITYMANAGEMENT_LIB_VERSION "6.0.40") 0046 set(KMAILTRANSPORT_LIB_VERSION "6.0.40") 0047 set(CALENDARUTILS_LIB_VERSION "6.0.40") 0048 set(KIMAP_LIB_VERSION "6.0.40") 0049 set(KMBOX_LIB_VERSION "6.0.40") 0050 set(AKONADICALENDAR_LIB_VERSION "6.0.40") 0051 set(KMIME_LIB_VERSION "6.0.40") 0052 set(AKONADIMIME_LIB_VERSION "6.0.40") 0053 set(AKONADICONTACT_LIB_VERSION "6.0.40") 0054 set(AKONADINOTE_LIB_VERSION "6.0.40") 0055 set(KGAPI_LIB_VERSION "6.0.40") 0056 set(KLDAP_LIB_VERSION "6.0.40") 0057 set(KTEXTADDONS_MIN_VERSION "1.5.3") 0058 0059 set( SharedMimeInfo_MINIMUM_VERSION "1.3" ) 0060 find_package(SharedMimeInfo ${SharedMimeInfo_MINIMUM_VERSION} REQUIRED) 0061 0062 find_package(Sasl2) 0063 set_package_properties(Sasl2 PROPERTIES TYPE REQUIRED) 0064 0065 find_package(Qca-qt6 2.3.7 CONFIG REQUIRED) 0066 set_package_properties(Qca-qt6 PROPERTIES DESCRIPTION "Qt Cryptographic Architecture" 0067 URL "https://invent.kde.org/libraries/qca" TYPE REQUIRED 0068 PURPOSE "Needed for ews resource.") 0069 option(KDEPIM_RUN_AKONADI_TEST "Enable autotest based on Akonadi." TRUE) 0070 # QT5 package 0071 find_package(Qt6TextToSpeech ${QT_REQUIRED_VERSION} CONFIG) 0072 set_package_properties(Qt6TextToSpeech PROPERTIES DESCRIPTION 0073 "Add support for texttospeech" 0074 TYPE OPTIONAL 0075 ) 0076 if(Qt6TextToSpeech_FOUND) 0077 set(HAVE_TEXT_TO_SPEECH_SUPPORT TRUE) 0078 endif() 0079 find_package(Qt6 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Network Widgets Test DBus NetworkAuth) 0080 find_package(Qt6WebEngineWidgets ${QT_REQUIRED_VERSION} CONFIG) 0081 0082 # KF6 package 0083 find_package(KF6Config ${KF_MIN_VERSION} CONFIG REQUIRED) 0084 find_package(KF6ConfigWidgets ${KF_MIN_VERSION} CONFIG REQUIRED) 0085 find_package(KF6NotifyConfig ${KF_MIN_VERSION} CONFIG REQUIRED) 0086 find_package(KF6KIO ${KF_MIN_VERSION} CONFIG REQUIRED) 0087 find_package(KF6ItemModels ${KF_MIN_VERSION} CONFIG REQUIRED) 0088 find_package(KF6Codecs ${KF_MIN_VERSION} CONFIG REQUIRED) 0089 find_package(KF6WindowSystem ${KF_MIN_VERSION} CONFIG REQUIRED) 0090 find_package(KF6TextWidgets ${KF_MIN_VERSION} CONFIG REQUIRED) # for KPluralHandlingSpinBox 0091 find_package(KF6Notifications ${KF_MIN_VERSION} CONFIG REQUIRED) # pop3, ews 0092 find_package(KF6KCMUtils ${KF_MIN_VERSION} CONFIG REQUIRED) 0093 find_package(KF6DAV ${KF_MIN_VERSION} CONFIG REQUIRED) 0094 find_package(KF6Wallet ${KF_MIN_VERSION} CONFIG REQUIRED) 0095 0096 find_package(KF6TextCustomEditor ${KTEXTADDONS_MIN_VERSION} CONFIG REQUIRED) 0097 0098 # KdepimLibs package 0099 find_package(KPim6Akonadi ${AKONADI_VERSION} CONFIG REQUIRED) 0100 find_package(KPim6Mime ${KMIME_LIB_VERSION} CONFIG REQUIRED) 0101 find_package(KPim6AkonadiMime ${AKONADIMIME_LIB_VERSION} CONFIG REQUIRED) 0102 find_package(KPim6MailTransport ${KMAILTRANSPORT_LIB_VERSION} CONFIG REQUIRED) 0103 find_package(KPim6IdentityManagementWidgets ${IDENTITYMANAGEMENT_LIB_VERSION} CONFIG REQUIRED) 0104 find_package(KPim6AkonadiContactWidgets ${AKONADICONTACT_LIB_VERSION} CONFIG REQUIRED) 0105 find_package(KF6Contacts ${KF_MIN_VERSION} CONFIG REQUIRED) 0106 find_package(KF6CalendarCore ${KF_MIN_VERSION} CONFIG REQUIRED) 0107 find_package(KPim6CalendarUtils ${CALENDARUTILS_LIB_VERSION} CONFIG REQUIRED) 0108 find_package(KPim6Mbox ${KMBOX_LIB_VERSION} CONFIG REQUIRED) 0109 find_package(KPim6IMAP ${KIMAP_LIB_VERSION} CONFIG REQUIRED) 0110 find_package(KPim6AkonadiNotes ${AKONADINOTE_LIB_VERSION} CONFIG REQUIRED) 0111 find_package(KPim6AkonadiCalendar ${AKONADICALENDAR_LIB_VERSION} CONFIG REQUIRED) 0112 find_package(KPim6GAPI ${KGAPI_LIB_VERSION} CONFIG REQUIRED) 0113 find_package(KPim6LdapWidgets ${KLDAP_LIB_VERSION} CONFIG REQUIRED) 0114 0115 #it will replace kwallet support 0116 find_package(Qt6Keychain CONFIG) 0117 set_package_properties(Qt6Keychain PROPERTIES 0118 DESCRIPTION "Provides support for secure credentials storage" 0119 URL "https://github.com/frankosterfeld/qtkeychain" 0120 TYPE REQUIRED) 0121 0122 if (Qt6Keychain_VERSION VERSION_LESS 0.14.2) 0123 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.") 0124 endif() 0125 0126 option(KDEPIM_RUN_ISOLATED_TESTS "Run the isolated tests." FALSE) 0127 ecm_set_disabled_deprecation_versions(QT 6.6.0 KF 5.249.0) 0128 0129 0130 option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF) 0131 0132 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT OFF) 0133 if (USE_UNITY_CMAKE_SUPPORT) 0134 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT ON) 0135 add_definitions(-DCOMPILE_WITH_UNITY_CMAKE_SUPPORT) 0136 endif() 0137 0138 if(BUILD_TESTING) 0139 add_definitions(-DBUILD_TESTING) 0140 endif() 0141 0142 add_subdirectory(resources) 0143 add_subdirectory(agents) 0144 add_subdirectory(defaultsetup) 0145 add_subdirectory(kioworker) 0146 add_subdirectory(migration) 0147 add_subdirectory(kcms) 0148 add_subdirectory(kmailtransport) 0149 ## install the MIME type spec file for KDEPIM specific MIME types 0150 install(FILES kdepim-mime.xml DESTINATION ${KDE_INSTALL_MIMEDIR}) 0151 update_xdg_mimetypes(${KDE_INSTALL_MIMEDIR}) 0152 ecm_qt_install_logging_categories( 0153 EXPORT KDEPIMRUNTIME 0154 FILE kdepim-runtime.categories 0155 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0156 ) 0157 0158 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0159 ki18n_install(po) 0160 0161 ecm_feature_summary(WHAT ALL 0162 INCLUDE_QUIET_PACKAGES 0163 FATAL_ON_MISSING_REQUIRED_PACKAGES 0164 )