Warning, /pim/akonadi-calendar/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: none 0002 # SPDX-License-Identifier: BSD-3-Clause 0003 0004 cmake_minimum_required(VERSION 3.16 FATAL_ERROR) 0005 0006 set(PIM_VERSION "6.0.40") 0007 project(Akonadi-Calendar VERSION ${PIM_VERSION}) 0008 0009 # ECM setup 0010 set(KF_MIN_VERSION "5.248.0") 0011 find_package(ECM ${KF_MIN_VERSION} CONFIG REQUIRED) 0012 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) 0013 set(QT_REQUIRED_VERSION "6.6.0") 0014 0015 include(KDEInstallDirs) 0016 include(KDECMakeSettings) 0017 include(KDECompilerSettings NO_POLICY_SCOPE) 0018 0019 include(ECMGenerateExportHeader) 0020 include(ECMGenerateHeaders) 0021 0022 include(ECMSetupVersion) 0023 include(FeatureSummary) 0024 include(KDEGitCommitHooks) 0025 include(KDEClangFormat) 0026 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h *.c) 0027 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0028 0029 include(ECMQtDeclareLoggingCategory) 0030 include(ECMDeprecationSettings) 0031 include(ECMFeatureSummary) 0032 include(ECMAddQch) 0033 0034 set(KPIM_MIME_VERSION "6.0.40") 0035 find_package(KPim6Mime ${KPIM_MIME_VERSION} CONFIG REQUIRED) 0036 set(AKONADICALENDAR_LIB_VERSION ${PIM_VERSION}) 0037 set(AKONADICONTACT_LIB_VERSION "6.0.40") 0038 set(AKONADIMIME_LIB_VERSION "6.0.40") 0039 set(AKONADI_LIB_VERSION "6.0.40") 0040 set(MAILTRANSPORT_LIB_VERSION "6.0.40") 0041 set(CALENDARUTILS_LIB_VERSION "6.0.40") 0042 set(IDENTITYMANAGEMENT_LIB_VERSION "6.0.40") 0043 set(MESSAGECORE_LIB_VERSION "6.0.40") 0044 set(MESSAGECOMPOSER_LIB_VERSION "5.240.45") 0045 set(LIBKLEO_LIB_VERSION "6.0.40") 0046 0047 ecm_setup_version(PROJECT VARIABLE_PREFIX AKONADICALENDAR 0048 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/akonadi-calendar_version.h" 0049 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiCalendarConfigVersion.cmake" 0050 SOVERSION 6 0051 ) 0052 0053 configure_file(akonadi-calendar-version.h.in ${CMAKE_CURRENT_BINARY_DIR}/src/akonadi-calendar-version.h @ONLY) 0054 0055 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) 0056 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") 0057 0058 if(BUILD_TESTING) 0059 add_definitions(-DBUILD_TESTING) 0060 endif() 0061 0062 ########### Find packages ########### 0063 find_package(KF6I18n ${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(KF6KIO ${KF_MIN_VERSION} CONFIG REQUIRED) 0067 find_package(KF6Codecs ${KF_MIN_VERSION} CONFIG REQUIRED) 0068 find_package(KF6DBusAddons ${KF_MIN_VERSION} CONFIG REQUIRED) 0069 find_package(KF6Notifications ${KF_MIN_VERSION} CONFIG REQUIRED) 0070 find_package(KF6CalendarCore ${KF_MIN_VERSION} CONFIG REQUIRED) 0071 0072 find_package(KPim6MailTransport ${MAILTRANSPORT_LIB_VERSION} CONFIG REQUIRED) 0073 find_package(KPim6IdentityManagementCore ${IDENTITYMANAGEMENT_LIB_VERSION} CONFIG REQUIRED) 0074 find_package(KPim6CalendarUtils ${CALENDARUTILS_LIB_VERSION} CONFIG REQUIRED) 0075 find_package(KPim6MessageCore ${MESSAGECORE_LIB_VERSION} CONFIG REQUIRED) 0076 find_package(KPim6MessageComposer ${MESSAGECOMPOSER_LIB_VERSION} CONFIG REQUIRED) 0077 find_package(KPim6Libkleo ${LIBKLEO_LIB_VERSION} CONFIG REQUIRED) 0078 0079 find_package(KPim6Akonadi ${AKONADI_LIB_VERSION} CONFIG REQUIRED) 0080 find_package(KPim6AkonadiContactCore ${AKONADICONTACT_LIB_VERSION} CONFIG REQUIRED) 0081 find_package(KPim6AkonadiMime ${AKONADI_MIME_VERSION} CONFIG REQUIRED) 0082 0083 ########### Targets ########### 0084 0085 0086 add_definitions(-DQT_NO_CONTEXTLESS_CONNECT) 0087 ecm_set_disabled_deprecation_versions(QT 6.6.0 KF 5.249.0) 0088 0089 0090 0091 option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF) 0092 0093 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT OFF) 0094 if (USE_UNITY_CMAKE_SUPPORT) 0095 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT ON) 0096 add_definitions(-DCOMPILE_WITH_UNITY_CMAKE_SUPPORT) 0097 endif() 0098 0099 add_subdirectory(src) 0100 add_subdirectory(serializers) 0101 add_subdirectory(reminder-daemon) 0102 add_subdirectory(calendar-plugin) 0103 if (BUILD_TESTING) 0104 add_subdirectory(autotests) 0105 endif () 0106 0107 ########### CMake Config Files ########### 0108 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPim6AkonadiCalendar") 0109 0110 if (BUILD_QCH) 0111 ecm_install_qch_export( 0112 TARGETS KPim6AkonadiCalendar_QCH 0113 FILE KPim6AkonadiCalendarQchTargets.cmake 0114 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0115 COMPONENT Devel 0116 ) 0117 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KPim6AkonadiCalendarQchTargets.cmake\")") 0118 endif() 0119 0120 configure_package_config_file( 0121 "${CMAKE_CURRENT_SOURCE_DIR}/KPimAkonadiCalendarConfig.cmake.in" 0122 "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiCalendarConfig.cmake" 0123 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0124 ) 0125 0126 install(FILES 0127 "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiCalendarConfig.cmake" 0128 "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiCalendarConfigVersion.cmake" 0129 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0130 COMPONENT Devel 0131 ) 0132 0133 install(EXPORT KPim6AkonadiCalendarTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KPim6AkonadiCalendarTargets.cmake NAMESPACE KPim6::) 0134 0135 install(FILES 0136 ${CMAKE_CURRENT_BINARY_DIR}/akonadi-calendar_version.h 0137 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/AkonadiCalendar COMPONENT Devel 0138 ) 0139 ecm_qt_install_logging_categories( 0140 EXPORT AKONADI-CALENDAR 0141 FILE akonadi-calendar.categories 0142 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0143 ) 0144 0145 0146 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0147 ki18n_install(po) 0148 ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 0149