Warning, /pim/akonadi-search/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-License-Identifier: CC0-1.0 0002 # SPDX-FileCopyrightText: none 0003 cmake_minimum_required(VERSION 3.16 FATAL_ERROR) 0004 0005 set(PIM_VERSION "6.0.40") 0006 project(AkonadiSearch 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 0014 include(GenerateExportHeader) 0015 include(ECMGenerateHeaders) 0016 0017 include(CMakeDependentOption) 0018 include(ECMSetupVersion) 0019 include(FeatureSummary) 0020 include(KDEGitCommitHooks) 0021 include(KDEClangFormat) 0022 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h *.c) 0023 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0024 0025 include(KDEInstallDirs) 0026 include(KDECMakeSettings) 0027 include(KDECompilerSettings NO_POLICY_SCOPE) 0028 include(ECMInstallIcons) 0029 include(ECMAddTests) 0030 include(ECMQtDeclareLoggingCategory) 0031 include(ECMDeprecationSettings) 0032 include(ECMFeatureSummary) 0033 include(ECMAddQch) 0034 0035 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) 0036 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") 0037 0038 0039 cmake_dependent_option( 0040 AKONADISEARCH_ENABLE_KRUNNER_RUNNER 0041 "Build KRunner runner to search contacts" ON 0042 "NOT WIN32" OFF 0043 ) 0044 0045 set(AKONADISEARCH_VERSION ${PIM_VERSION}) 0046 0047 set(AKONADI_VERSION "6.0.40") 0048 set(AKONADI_MIMELIB_VERSION "6.0.40") 0049 set(KMIME_LIB_VERSION "6.0.40") 0050 set(QT_REQUIRED_VERSION "6.6.0") 0051 set(KPIM_MIME_VERSION "6.0.40") 0052 set(KTEXTADDONS_MIN_VERSION "1.5.3") 0053 0054 find_package(Qt6 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Core Test) 0055 find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS I18n Config Crash DBusAddons KCMUtils KIO) 0056 if (AKONADISEARCH_ENABLE_KRUNNER_RUNNER) 0057 find_package(KF6Runner ${KF_MIN_VERSION} REQUIRED) 0058 endif() 0059 0060 find_package(Xapian CONFIG) 0061 set_package_properties(Xapian PROPERTIES 0062 DESCRIPTION "The Xapian search engine library" 0063 URL "https://xapian.org" 0064 TYPE REQUIRED 0065 ) 0066 0067 find_package(KPim6Akonadi ${AKONADI_VERSION} CONFIG REQUIRED) 0068 find_package(KF6Contacts ${KF_MIN_VERSION} CONFIG REQUIRED) 0069 find_package(KPim6Mime ${KPIM_MIME_VERSION} CONFIG REQUIRED) 0070 find_package(KPim6AkonadiMime ${AKONADI_MIMELIB_VERSION} CONFIG REQUIRED) 0071 find_package(KF6CalendarCore ${KF_MIN_VERSION} CONFIG REQUIRED) 0072 find_package(KF6TextUtils ${KTEXTADDONS_MIN_VERSION} CONFIG REQUIRED) 0073 0074 find_package(Corrosion) 0075 set_package_properties(Corrosion PROPERTIES 0076 PURPOSE "Required for safe parsing of html emails" 0077 DESCRIPTION "CMake scripts to seamlessly build and link to targets using cargo" 0078 URL https://github.com/corrosion-rs/corrosion 0079 ) 0080 0081 ecm_setup_version(PROJECT 0082 VARIABLE_PREFIX AKONADISEARCH 0083 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/akonadi_search_version.h" 0084 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiSearchConfigVersion.cmake" 0085 SOVERSION 6 0086 ) 0087 option(KDEPIM_RUN_AKONADI_TEST "Enable autotest based on Akonadi." TRUE) 0088 0089 # Compiler flags 0090 add_definitions(-DTRANSLATION_DOMAIN=\"akonadi_search\") 0091 add_definitions(-DQT_NO_CONTEXTLESS_CONNECT) 0092 ecm_set_disabled_deprecation_versions(QT 6.6.0 KF 5.249.0) 0093 0094 0095 0096 option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF) 0097 0098 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT OFF) 0099 if (USE_UNITY_CMAKE_SUPPORT) 0100 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT ON) 0101 add_definitions(-DCOMPILE_WITH_UNITY_CMAKE_SUPPORT) 0102 endif() 0103 0104 0105 # Turn exceptions on 0106 kde_enable_exceptions() 0107 0108 include_directories( 0109 ${XAPIAN_INCLUDE_DIR} 0110 ${CMAKE_SOURCE_DIR} 0111 ${CMAKE_SOURCE_DIR}/core 0112 ${CMAKE_BINARY_DIR}/core 0113 ${CMAKE_SOURCE_DIR}/xapian 0114 ${CMAKE_BINARY_DIR}/xapian 0115 ) 0116 # Config files 0117 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPim6AkonadiSearch") 0118 # Targets 0119 add_subdirectory(xapian) 0120 add_subdirectory(core) 0121 add_subdirectory(agent) 0122 add_subdirectory(lib) 0123 add_subdirectory(akonadiplugin) 0124 add_subdirectory(search) 0125 add_subdirectory(debug) 0126 if (AKONADISEARCH_ENABLE_KRUNNER_RUNNER) 0127 add_subdirectory(runner) 0128 endif() 0129 0130 if (BUILD_QCH) 0131 ecm_install_qch_export( 0132 TARGETS KPim6AkonadiSearchPIM_QCH 0133 FILE KPim6AkonadiSearchPIMQchTargets.cmake 0134 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0135 COMPONENT Devel 0136 ) 0137 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KPim6AkonadiSearchPIMQchTargets.cmake\")") 0138 endif() 0139 0140 configure_package_config_file( 0141 "${CMAKE_CURRENT_SOURCE_DIR}/KPimAkonadiSearchConfig.cmake.in" 0142 "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiSearchConfig.cmake" 0143 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0144 ) 0145 0146 install(FILES 0147 "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiSearchConfig.cmake" 0148 "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiSearchConfigVersion.cmake" 0149 DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0150 COMPONENT devel 0151 ) 0152 0153 install(EXPORT KPim6AkonadiSearchTargets 0154 NAMESPACE KPim6:: 0155 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0156 FILE KPim6AkonadiSearchTargets.cmake) 0157 0158 install(FILES 0159 "${CMAKE_CURRENT_BINARY_DIR}/akonadi_search_version.h" 0160 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/AkonadiSearch 0161 COMPONENT Devel 0162 ) 0163 0164 ecm_qt_install_logging_categories( 0165 EXPORT AKONADISEARCH 0166 FILE akonadi-search.categories 0167 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0168 ) 0169 0170 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0171 0172 ki18n_install(po) 0173 ecm_feature_summary(WHAT ALL 0174 INCLUDE_QUIET_PACKAGES 0175 FATAL_ON_MISSING_REQUIRED_PACKAGES 0176 ) 0177