Warning, /pim/merkuro/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: (C) 2020 Carl Schwan <carl@carlschwan.eu> 0002 # 0003 # SPDX-License-Identifier: BSD-2-Clause 0004 0005 cmake_minimum_required(VERSION 3.16) 0006 0007 # KDE Applications version, managed by release script. 0008 set(RELEASE_SERVICE_VERSION_MAJOR "24") 0009 set(RELEASE_SERVICE_VERSION_MINOR "04") 0010 set(RELEASE_SERVICE_VERSION_MICRO "70") 0011 set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") 0012 0013 project(merkuro VERSION ${RELEASE_SERVICE_VERSION}) 0014 0015 set(QT_REQUIRED_VERSION "6.6.0") 0016 set(KF_MIN_VERSION "5.248.0") 0017 0018 set(AKONADI_CONTACT_VERSION "6.0.40") 0019 set(IDENTITYMANAGEMENT_LIB_VERSION "6.0.40") 0020 set(MAILTRANSPORT_LIB_VERSION "6.0.40") 0021 set(CALENDARUTILS_LIB_VERSION "6.0.40") 0022 set(AKONADICALENDAR_LIB_VERSION "6.0.40") 0023 set(KMIME_LIB_VERSION "6.0.40") 0024 set(AKONADI_LIB_VERSION "6.0.40") 0025 set(MIMETREEPARSER_LIB_VERSION "6.0.40") 0026 set(MAILCOMMON_LIB_VERSION "6.0.40") 0027 set(AKONADIMIME_LIB_VERSION "6.0.40") 0028 set(AKONADICONTACT_LIB_VERSION "6.0.40") 0029 set(KMIME_LIB_VERSION "6.0.40") 0030 set(MESSAGECOMPOSER_LIB_VERSION "6.0.40") 0031 set(KMBOX_LIB_VERSION "6.0.40") 0032 0033 include(FeatureSummary) 0034 0035 ################# set KDE specific information ################# 0036 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE) 0037 0038 # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked 0039 set(CMAKE_MODULE_PATH 0040 ${CMAKE_MODULE_PATH} 0041 ${ECM_MODULE_PATH} 0042 ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules 0043 ) 0044 0045 set(CMAKE_CXX_STANDARD 20) 0046 set(CMAKE_CXX_STANDARD_REQUIRED ON) 0047 0048 include(KDEInstallDirs) 0049 include(KDECMakeSettings) 0050 include(KDECompilerSettings NO_POLICY_SCOPE) 0051 include(ECMAddTests) 0052 include(ECMCoverageOption) 0053 include(ECMQtDeclareLoggingCategory) 0054 include(ECMSetupVersion) 0055 include(ECMGenerateHeaders) 0056 include(ECMPoQmTools) 0057 include(KDEGitCommitHooks) 0058 include(KDEClangFormat) 0059 include(ECMDeprecationSettings) 0060 include(ECMFeatureSummary) 0061 include(ECMGenerateQmlTypes) 0062 include(ECMQmlModule) 0063 include(ECMInstallIcons) 0064 0065 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h *.c) 0066 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0067 0068 ecm_setup_version(${PROJECT_VERSION} 0069 VARIABLE_PREFIX MERKURO 0070 SOVERSION ${PROJECT_VERSION_MAJOR} 0071 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/src/config-merkuro.h" 0072 ) 0073 0074 ################# Find dependencies ################# 0075 find_package(Qt6 ${QT_REQUIRED_VERSION} REQUIRED COMPONENTS 0076 Core 0077 DBus 0078 Gui 0079 Svg 0080 Test 0081 Qml 0082 QuickControls2 0083 QuickTest 0084 ) 0085 0086 find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS 0087 CalendarCore 0088 ConfigWidgets 0089 Contacts 0090 CoreAddons 0091 DBusAddons 0092 I18n 0093 IconThemes 0094 ItemModels 0095 Kirigami 0096 KIO 0097 QQC2DesktopStyle 0098 WindowSystem 0099 XmlGui 0100 ) 0101 find_package(KF6KirigamiAddons 0.7.2 REQUIRED) 0102 find_package(Gpgme REQUIRED) 0103 set_package_properties(KF6QQC2DesktopStyle PROPERTIES 0104 TYPE RUNTIME 0105 ) 0106 0107 find_package(KPim6MessageComposer ${MESSAGECOMPOSER_LIB_VERSION} REQUIRED) 0108 find_package(KPim6Akonadi ${AKONADI_LIB_VERSION} REQUIRED) 0109 find_package(KPim6AkonadiCalendar ${AKONADICALENDAR_LIB_VERSION} REQUIRED) 0110 find_package(KPim6AkonadiContactCore ${AKONADI_CONTACT_VERSION} REQUIRED) 0111 find_package(KPim6AkonadiMime ${AKONADIMIME_LIB_VERSION} REQUIRED) 0112 find_package(KPim6CalendarUtils ${CALENDARUTILS_LIB_VERSION} REQUIRED) 0113 find_package(KPim6IdentityManagementCore ${IDENTITYMANAGEMENT_LIB_VERSION} REQUIRED) 0114 find_package(KPim6IdentityManagementQuick ${IDENTITYMANAGEMENT_LIB_VERSION} REQUIRED) 0115 find_package(KPim6MailCommon ${MAILCOMMON_LIB_VERSION} REQUIRED) 0116 find_package(KPim6MailTransport ${MAILTRANSPORT_LIB_VERSION} REQUIRED) 0117 find_package(KPim6MimeTreeParserCore ${MIMETREEPARSER_LIB_VERSION} REQUIRED) 0118 find_package(KPim6Mbox ${KMBOX_LIB_VERSION} REQUIRED) 0119 find_package(KPim6Mime ${KMIME_LIB_VERSION} REQUIRED) 0120 0121 option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF) 0122 0123 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT OFF) 0124 if (USE_UNITY_CMAKE_SUPPORT) 0125 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT ON) 0126 add_definitions(-DUNITY_CMAKE_SUPPORT) 0127 endif() 0128 0129 ################# build and install ################# 0130 0131 ki18n_install(po) 0132 0133 add_definitions(-DQT_NO_CONTEXTLESS_CONNECT) 0134 ecm_set_disabled_deprecation_versions(QT 6.6.0 KF 5.249.0) 0135 add_definitions(-DQT_STRICT_ITERATORS) 0136 add_subdirectory(src) 0137 add_subdirectory(icons) 0138 0139 ecm_qt_install_logging_categories( 0140 EXPORT MERKURO 0141 FILE merkuro.categories 0142 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0143 ) 0144 0145 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0146 0147 ecm_feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)