Warning, /pim/akonadi-mime/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: none 0002 # SPDX-License-Identifier: BSD-3-Clause 0003 cmake_minimum_required(VERSION 3.16 FATAL_ERROR) 0004 0005 set(PIM_VERSION "6.0.40") 0006 project(Akonadi-Mime VERSION ${PIM_VERSION}) 0007 0008 # ECM setup 0009 set(KF_MIN_VERSION "5.248.0") 0010 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(GenerateExportHeader) 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 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) 0035 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") 0036 0037 set(AKONADI_MIME_VERSION ${PIM_VERSION}) 0038 set(AKONADI_VERSION "6.0.40") 0039 set(KPIM_MIME_VERSION "6.0.40") 0040 0041 ecm_setup_version(PROJECT VARIABLE_PREFIX AKONADIMIME 0042 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/akonadi-mime_version.h" 0043 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiMimeConfigVersion.cmake" 0044 SOVERSION 6 0045 ) 0046 0047 ########### Find packages ########### 0048 find_package(KF6KIO ${KF_MIN_VERSION} CONFIG REQUIRED) 0049 find_package(KF6I18n ${KF_MIN_VERSION} CONFIG REQUIRED) 0050 find_package(KF6XmlGui ${KF_MIN_VERSION} CONFIG REQUIRED) 0051 find_package(KPim6Mime ${KPIM_MIME_VERSION} CONFIG REQUIRED) 0052 find_package(KF6ItemModels ${KF_MIN_VERSION} CONFIG REQUIRED) 0053 0054 find_package(KPim6Akonadi ${AKONADI_VERSION} CONFIG REQUIRED) 0055 0056 set( SharedMimeInfo_MINIMUM_VERSION "1.3" ) 0057 find_package(SharedMimeInfo ${SharedMimeInfo_MINIMUM_VERSION} REQUIRED) 0058 0059 find_package(LibXslt) 0060 set_package_properties(LibXslt PROPERTIES 0061 DESCRIPTION "xsltproc" 0062 URL "http://xmlsoft.org/XSLT/" 0063 TYPE REQUIRED 0064 PURPOSE "Needed to generate D-Bus interface specifications" 0065 ) 0066 0067 ########### Targets ########### 0068 0069 add_definitions(-DQT_NO_CONTEXTLESS_CONNECT) 0070 ecm_set_disabled_deprecation_versions(QT 6.6 0071 KF 5.105.0 0072 ) 0073 0074 option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF) 0075 0076 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT OFF) 0077 if (USE_UNITY_CMAKE_SUPPORT) 0078 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT ON) 0079 endif() 0080 if(BUILD_TESTING) 0081 set(AKONADI_MIME_TEST_EXPORT AKONADI_MIME_EXPORT) 0082 endif() 0083 configure_file(akonadi-mimeprivate_export.h.in "${CMAKE_CURRENT_BINARY_DIR}/akonadi-mimeprivate_export.h") 0084 include_directories(${CMAKE_CURRENT_BINARY_DIR}) 0085 0086 add_subdirectory(src) 0087 add_subdirectory(serializers) 0088 0089 if(BUILD_TESTING) 0090 add_subdirectory(autotests) 0091 add_subdirectory(tests) 0092 endif() 0093 0094 ########### CMake Config Files ########### 0095 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPim6AkonadiMime") 0096 if (BUILD_QCH) 0097 ecm_install_qch_export( 0098 TARGETS KPim6AkonadiMime_QCH 0099 FILE KPim6AkonadiMimeQchTargets.cmake 0100 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0101 COMPONENT Devel 0102 ) 0103 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KPim6AkonadiMimeQchTargets.cmake\")") 0104 endif() 0105 0106 configure_package_config_file( 0107 "${CMAKE_CURRENT_SOURCE_DIR}/KPimAkonadiMimeConfig.cmake.in" 0108 "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiMimeConfig.cmake" 0109 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0110 ) 0111 0112 install(FILES 0113 "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiMimeConfig.cmake" 0114 "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiMimeConfigVersion.cmake" 0115 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0116 COMPONENT Devel 0117 ) 0118 0119 install(EXPORT KPim6AkonadiMimeTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KPim6AkonadiMimeTargets.cmake NAMESPACE KPim6::) 0120 0121 install(FILES 0122 ${CMAKE_CURRENT_BINARY_DIR}/akonadi-mime_version.h 0123 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/AkonadiMime COMPONENT Devel 0124 ) 0125 0126 ecm_qt_install_logging_categories( 0127 EXPORT AKONADIMIME 0128 FILE akonadi-mime.categories 0129 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0130 ) 0131 0132 0133 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0134 ki18n_install(po) 0135 0136 ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)