Warning, /pim/kmbox/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 set(PIM_VERSION "6.0.0")
0006 
0007 project(KMbox VERSION ${PIM_VERSION})
0008 
0009 # ECM setup
0010 set(KF_MIN_VERSION "5.246.0")
0011 set(QT_REQUIRED_VERSION "6.6.0")
0012 find_package(ECM ${KF_MIN_VERSION} CONFIG REQUIRED)
0013 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
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(KMBOX_LIB_VERSION ${PIM_VERSION})
0034 set(KMIME_LIB_VERSION "6.0.0")
0035 
0036 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF)
0037 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)")
0038 ecm_setup_version(PROJECT VARIABLE_PREFIX KMBOX
0039                         VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/src/kmbox_version.h"
0040                         PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPim6MboxConfigVersion.cmake"
0041                         SOVERSION 6
0042 )
0043 
0044 ########### Find packages ###########
0045 find_package(KPim6Mime ${KMIME_LIB_VERSION} CONFIG REQUIRED)
0046 
0047 add_definitions(-DQT_NO_CONTEXTLESS_CONNECT)
0048 ecm_set_disabled_deprecation_versions(QT 6.6.0 KF 5.248.0)
0049 
0050 option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF)
0051 
0052 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT OFF)
0053 if (USE_UNITY_CMAKE_SUPPORT)
0054     set(COMPILE_WITH_UNITY_CMAKE_SUPPORT ON)
0055 endif()
0056 
0057 ########### Targets ###########
0058 add_subdirectory(src)
0059 
0060 if(BUILD_TESTING)
0061     add_subdirectory(autotests)
0062 endif()
0063 
0064 ########### CMake Config Files ###########
0065 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPim6Mbox")
0066 if (BUILD_QCH)
0067     ecm_install_qch_export(
0068         TARGETS KPim6Mbox_QCH
0069         FILE KPim6MBoxQchTargets.cmake
0070         DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0071         COMPONENT Devel
0072     )
0073     set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KPim6MBoxQchTargets.cmake\")")
0074 endif()
0075 configure_package_config_file(
0076   "${CMAKE_CURRENT_SOURCE_DIR}/KPimMboxConfig.cmake.in"
0077   "${CMAKE_CURRENT_BINARY_DIR}/KPim6MboxConfig.cmake"
0078   INSTALL_DESTINATION  ${CMAKECONFIG_INSTALL_DIR}
0079 )
0080 
0081 install(FILES
0082   "${CMAKE_CURRENT_BINARY_DIR}/KPim6MboxConfig.cmake"
0083   "${CMAKE_CURRENT_BINARY_DIR}/KPim6MboxConfigVersion.cmake"
0084   DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0085   COMPONENT Devel
0086 )
0087 
0088 install(EXPORT KPim6MboxTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0089     FILE KPim6MboxTargets.cmake NAMESPACE KPim6::)
0090 
0091 install(FILES
0092    ${CMAKE_CURRENT_BINARY_DIR}/src/kmbox_version.h
0093    DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/KMbox
0094    COMPONENT Devel
0095 )
0096 
0097 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
0098 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)