Warning, /pim/mailcommon/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.0") 0005 0006 project(mailcommon VERSION ${PIM_VERSION}) 0007 0008 set(KF_MIN_VERSION "5.246.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 0027 include(ECMQtDeclareLoggingCategory) 0028 include(ECMDeprecationSettings) 0029 include(ECMAddTests) 0030 include(ECMAddQch) 0031 0032 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) 0033 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") 0034 0035 set(MAILCOMMON_LIB_VERSION ${PIM_VERSION}) 0036 set(AKONADIMIME_LIB_VERSION "6.0.0") 0037 set(AKONADICONTACT_LIB_VERSION "6.0.0") 0038 set(MESSAGELIB_LIB_VERSION "6.0.0") 0039 set(KMIME_LIB_VERSION "6.0.0") 0040 set(KMAILTRANSPORT_LIB_VERSION "6.0.0") 0041 set(MAILIMPORTER_LIB_VERSION "6.0.0") 0042 set(LIBKDEPIM_LIB_VERSION "6.0.0") 0043 set(PIMCOMMON_LIB_VERSION "6.0.0") 0044 0045 set(PHONON_LIB_VERSION "4.11.1") 0046 set(AKONADI_VERSION "6.0.0") 0047 set(KTEXTADDONS_MIN_VERSION "1.5.2") 0048 0049 find_package(Qt6 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Widgets DBus Xml) 0050 0051 set(GPGMEPP_LIB_VERSION "1.16.0") 0052 find_package(Gpgmepp ${GPGMEPP_LIB_VERSION} CONFIG REQUIRED) 0053 find_package(QGpgmeQt6 ${GPGME_REQUIRED_VERSION} CONFIG REQUIRED) 0054 0055 find_package(KF6Archive ${KF_MIN_VERSION} CONFIG REQUIRED) 0056 find_package(KF6Completion ${KF_MIN_VERSION} CONFIG REQUIRED) 0057 find_package(KF6Config ${KF_MIN_VERSION} CONFIG REQUIRED) 0058 find_package(KF6I18n ${KF_MIN_VERSION} CONFIG REQUIRED) 0059 find_package(KF6IconThemes ${KF_MIN_VERSION} CONFIG REQUIRED) 0060 find_package(KF6ItemModels ${KF_MIN_VERSION} CONFIG REQUIRED) 0061 find_package(KF6ItemViews ${KF_MIN_VERSION} CONFIG REQUIRED) 0062 find_package(KF6KIO ${KF_MIN_VERSION} CONFIG REQUIRED) 0063 find_package(KF6TextWidgets ${KF_MIN_VERSION} CONFIG REQUIRED) 0064 find_package(KF6WidgetsAddons ${KF_MIN_VERSION} CONFIG REQUIRED) 0065 find_package(KF6XmlGui ${KF_MIN_VERSION} CONFIG REQUIRED) 0066 find_package(KF6DBusAddons ${KF_MIN_VERSION} CONFIG REQUIRED) 0067 find_package(KF6SyntaxHighlighting ${KF_MIN_VERSION} CONFIG REQUIRED) 0068 find_package(KF6GuiAddons ${KF_MIN_VERSION} CONFIG REQUIRED) 0069 find_package(KF6Codecs ${KF_MIN_VERSION} CONFIG REQUIRED) 0070 0071 find_package(KPim6Akonadi ${AKONADI_VERSION} CONFIG REQUIRED) 0072 find_package(KPim6AkonadiMime ${AKONADIMIME_LIB_VERSION} CONFIG REQUIRED) 0073 find_package(KPim6Libkdepim ${LIBKDEPIM_LIB_VERSION} CONFIG REQUIRED) 0074 find_package(KPim6MailImporter ${MAILIMPORTER_LIB_VERSION} CONFIG REQUIRED) 0075 find_package(KPim6MailTransport ${KMAILTRANSPORT_LIB_VERSION} CONFIG REQUIRED) 0076 find_package(KPim6MessageComposer ${MESSAGELIB_LIB_VERSION} CONFIG REQUIRED) 0077 find_package(KPim6MessageList ${MESSAGELIB_LIB_VERSION} CONFIG REQUIRED) 0078 find_package(KPim6MessageCore ${MESSAGELIB_LIB_VERSION} CONFIG REQUIRED) 0079 find_package(KPim6MessageViewer ${MESSAGELIB_LIB_VERSION} CONFIG REQUIRED) 0080 find_package(KPim6Mime ${KMIME_LIB_VERSION} CONFIG REQUIRED) 0081 find_package(KPim6PimCommonAkonadi ${PIMCOMMON_LIB_VERSION} CONFIG REQUIRED) 0082 find_package(KPim6TemplateParser ${MESSAGELIB_LIB_VERSION} CONFIG REQUIRED) 0083 find_package(Phonon4Qt6 ${PHONON_LIB_VERSION} CONFIG REQUIRED) 0084 find_package(KPim6AkonadiContactWidgets ${AKONADICONTACT_LIB_VERSION} CONFIG REQUIRED) 0085 find_package(KPim6IdentityManagementCore ${KMIME_LIB_VERSION} CONFIG REQUIRED) 0086 find_package(KF6TextCustomEditor ${KTEXTADDONS_MIN_VERSION} CONFIG REQUIRED) 0087 0088 option(BUILD_DESIGNERPLUGIN "Build plugin for Qt Designer" ON) 0089 add_feature_info(DESIGNERPLUGIN ${BUILD_DESIGNERPLUGIN} "Build plugin for Qt Designer") 0090 0091 ecm_setup_version(PROJECT VARIABLE_PREFIX MAILCOMMON 0092 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/mailcommon_version.h" 0093 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPim6MailCommonConfigVersion.cmake" 0094 SOVERSION 6 0095 ) 0096 0097 0098 ########### Targets ########### 0099 remove_definitions( -DQT_NO_CAST_FROM_ASCII ) 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 0109 add_definitions(-DQT_NO_CONTEXTLESS_CONNECT) 0110 ecm_set_disabled_deprecation_versions(QT 6.6.0 KF 5.248.0) 0111 0112 add_subdirectory(src) 0113 if(BUILD_TESTING) 0114 find_package(Qt6 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Test) 0115 add_subdirectory(autotests) 0116 endif() 0117 0118 ########### CMake Config Files ########### 0119 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPim6MailCommon") 0120 if (BUILD_QCH) 0121 ecm_install_qch_export( 0122 TARGETS KPim6MailCommon_QCH 0123 FILE KPim6MailCommonQchTargets.cmake 0124 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0125 COMPONENT Devel 0126 ) 0127 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KPim6MailCommonQchTargets.cmake\")") 0128 endif() 0129 0130 configure_package_config_file( 0131 "${CMAKE_CURRENT_SOURCE_DIR}/KPimMailCommonConfig.cmake.in" 0132 "${CMAKE_CURRENT_BINARY_DIR}/KPim6MailCommonConfig.cmake" 0133 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0134 ) 0135 0136 install(FILES 0137 "${CMAKE_CURRENT_BINARY_DIR}/KPim6MailCommonConfig.cmake" 0138 "${CMAKE_CURRENT_BINARY_DIR}/KPim6MailCommonConfigVersion.cmake" 0139 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0140 COMPONENT Devel 0141 ) 0142 0143 install(EXPORT KPim6MailCommonTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KPim6MailCommonTargets.cmake NAMESPACE KPim6::) 0144 0145 install(FILES 0146 ${CMAKE_CURRENT_BINARY_DIR}/mailcommon_version.h 0147 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/MailCommon COMPONENT Devel 0148 ) 0149 0150 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0151 ki18n_install(po) 0152 0153 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)