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.0")
0007 project(Akonadi-Calendar  VERSION ${PIM_VERSION})
0008 
0009 # ECM setup
0010 set(KF_MIN_VERSION "5.246.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(ECMAddQch)
0032 
0033 set(KPIM_MIME_VERSION "6.0.0")
0034 find_package(KPim6Mime ${KPIM_MIME_VERSION} CONFIG REQUIRED)
0035 set(AKONADICALENDAR_LIB_VERSION ${PIM_VERSION})
0036 set(AKONADICONTACT_LIB_VERSION "6.0.0")
0037 set(AKONADIMIME_LIB_VERSION "6.0.0")
0038 set(AKONADI_LIB_VERSION "6.0.0")
0039 set(MAILTRANSPORT_LIB_VERSION "6.0.0")
0040 set(CALENDARUTILS_LIB_VERSION "6.0.0")
0041 set(IDENTITYMANAGEMENT_LIB_VERSION "6.0.0")
0042 set(MESSAGECORE_LIB_VERSION "6.0.0")
0043 set(MESSAGECOMPOSER_LIB_VERSION "5.240.45")
0044 set(LIBKLEO_LIB_VERSION "6.0.0")
0045 
0046 ecm_setup_version(PROJECT VARIABLE_PREFIX AKONADICALENDAR
0047                         VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/akonadi-calendar_version.h"
0048                         PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiCalendarConfigVersion.cmake"
0049                         SOVERSION 6
0050 )
0051 
0052 configure_file(akonadi-calendar-version.h.in ${CMAKE_CURRENT_BINARY_DIR}/src/akonadi-calendar-version.h @ONLY)
0053 
0054 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF)
0055 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)")
0056 
0057 if(BUILD_TESTING)
0058    add_definitions(-DBUILD_TESTING)
0059 endif()
0060 
0061 ########### Find packages ###########
0062 find_package(KF6I18n ${KF_MIN_VERSION} CONFIG REQUIRED)
0063 find_package(KF6WidgetsAddons ${KF_MIN_VERSION} CONFIG REQUIRED)
0064 find_package(KF6XmlGui ${KF_MIN_VERSION} CONFIG REQUIRED)
0065 find_package(KF6KIO ${KF_MIN_VERSION} CONFIG REQUIRED)
0066 find_package(KF6Codecs ${KF_MIN_VERSION} CONFIG REQUIRED)
0067 find_package(KF6DBusAddons ${KF_MIN_VERSION} CONFIG REQUIRED)
0068 find_package(KF6Notifications ${KF_MIN_VERSION} CONFIG REQUIRED)
0069 find_package(KF6CalendarCore ${KF_MIN_VERSION} CONFIG REQUIRED)
0070 
0071 find_package(KPim6MailTransport ${MAILTRANSPORT_LIB_VERSION} CONFIG REQUIRED)
0072 find_package(KPim6IdentityManagementCore ${IDENTITYMANAGEMENT_LIB_VERSION} CONFIG REQUIRED)
0073 find_package(KPim6CalendarUtils ${CALENDARUTILS_LIB_VERSION} CONFIG REQUIRED)
0074 find_package(KPim6MessageCore ${MESSAGECORE_LIB_VERSION} CONFIG REQUIRED)
0075 find_package(KPim6MessageComposer ${MESSAGECOMPOSER_LIB_VERSION} CONFIG REQUIRED)
0076 find_package(KPim6Libkleo ${LIBKLEO_LIB_VERSION} CONFIG REQUIRED)
0077 
0078 find_package(KPim6Akonadi ${AKONADI_LIB_VERSION} CONFIG REQUIRED)
0079 find_package(KPim6AkonadiContactCore ${AKONADICONTACT_LIB_VERSION} CONFIG REQUIRED)
0080 find_package(KPim6AkonadiMime ${AKONADI_MIME_VERSION} CONFIG REQUIRED)
0081 
0082 ########### Targets ###########
0083 
0084 
0085 add_definitions(-DQT_NO_CONTEXTLESS_CONNECT)
0086 ecm_set_disabled_deprecation_versions(QT 6.6.0 KF 5.248.0)
0087 
0088 
0089 
0090 option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF)
0091 
0092 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT OFF)
0093 if (USE_UNITY_CMAKE_SUPPORT)
0094     set(COMPILE_WITH_UNITY_CMAKE_SUPPORT ON)
0095     add_definitions(-DCOMPILE_WITH_UNITY_CMAKE_SUPPORT)
0096 endif()
0097 
0098 add_subdirectory(src)
0099 add_subdirectory(serializers)
0100 add_subdirectory(reminder-daemon)
0101 add_subdirectory(calendar-plugin)
0102 if (BUILD_TESTING)
0103     add_subdirectory(autotests)
0104 endif ()
0105 
0106 ########### CMake Config Files ###########
0107 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPim6AkonadiCalendar")
0108 
0109 if (BUILD_QCH)
0110     ecm_install_qch_export(
0111         TARGETS KPim6AkonadiCalendar_QCH
0112         FILE KPim6AkonadiCalendarQchTargets.cmake
0113         DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0114         COMPONENT Devel
0115     )
0116     set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KPim6AkonadiCalendarQchTargets.cmake\")")
0117 endif()
0118 
0119 configure_package_config_file(
0120   "${CMAKE_CURRENT_SOURCE_DIR}/KPimAkonadiCalendarConfig.cmake.in"
0121   "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiCalendarConfig.cmake"
0122   INSTALL_DESTINATION  ${CMAKECONFIG_INSTALL_DIR}
0123 )
0124 
0125 install(FILES
0126   "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiCalendarConfig.cmake"
0127   "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiCalendarConfigVersion.cmake"
0128   DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0129   COMPONENT Devel
0130 )
0131 
0132 install(EXPORT KPim6AkonadiCalendarTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KPim6AkonadiCalendarTargets.cmake NAMESPACE KPim6::)
0133 
0134 install(FILES
0135    ${CMAKE_CURRENT_BINARY_DIR}/akonadi-calendar_version.h
0136   DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/AkonadiCalendar COMPONENT Devel
0137 )
0138 ecm_qt_install_logging_categories(
0139         EXPORT AKONADI-CALENDAR
0140         FILE akonadi-calendar.categories
0141         DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
0142         )
0143 
0144 
0145 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
0146 ki18n_install(po)
0147 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
0148