Warning, /frameworks/krunner/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: KDE Contributors 0002 # SPDX-License-Identifier: BSD-2-Clause 0003 0004 cmake_minimum_required(VERSION 3.16) 0005 0006 set(KF_VERSION "5.116.0") # handled by release scripts 0007 set(KF_DEP_VERSION "5.115.0") # handled by release scripts 0008 project(KRunner VERSION ${KF_VERSION}) 0009 0010 # ECM setup 0011 include(FeatureSummary) 0012 find_package(ECM 5.115.0 NO_MODULE) 0013 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") 0014 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) 0015 0016 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) 0017 0018 include(KDEInstallDirs) 0019 include(KDECMakeSettings) 0020 include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) 0021 0022 include(ECMGenerateExportHeader) 0023 include(ECMSetupVersion) 0024 include(ECMGenerateHeaders) 0025 include(ECMAddQch) 0026 include(CMakePackageConfigHelpers) 0027 include(KDEPackageAppTemplates) 0028 include(ECMQtDeclareLoggingCategory) 0029 include(ECMSetupQtPluginMacroNames) 0030 include(ECMDeprecationSettings) 0031 include(KDEGitCommitHooks) 0032 0033 0034 set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=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 0039 ecm_setup_version(PROJECT 0040 VARIABLE_PREFIX KRUNNER 0041 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/krunner_version.h" 0042 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5RunnerConfigVersion.cmake" 0043 ) 0044 0045 # Dependencies 0046 set(REQUIRED_QT_VERSION 5.15.2) 0047 0048 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED Gui Widgets Quick) 0049 0050 ecm_set_disabled_deprecation_versions( 0051 QT ${REQUIRED_QT_VERSION} 0052 KF 5.95.0 0053 PLASMA 5.0.0 # needed because we use Plasma::Package in the API 0054 KSERVICE 5.89.0 # needed because we use KPluginInfo, KServiceTypeTrader in the API 0055 ) 0056 0057 find_package(KF5Config ${KF_DEP_VERSION} REQUIRED) 0058 find_package(KF5CoreAddons ${KF_DEP_VERSION} REQUIRED) 0059 find_package(KF5I18n ${KF_DEP_VERSION} REQUIRED) 0060 find_package(KF5ThreadWeaver ${KF_DEP_VERSION} REQUIRED) 0061 if(NOT EXCLUDE_DEPRECATED_BEFORE_AND_AT STREQUAL "CURRENT" AND 0062 EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.91.0) 0063 find_package(KF5KIO ${KF_DEP_VERSION} REQUIRED) 0064 find_package(KF5Service ${KF_DEP_VERSION} REQUIRED) 0065 find_package(KF5Plasma ${KF_DEP_VERSION} REQUIRED) 0066 else() 0067 set(KF5Plasma_FOUND 0) 0068 endif() 0069 0070 find_package(KF5Activities ${KF_DEP_VERSION}) 0071 set_package_properties(KF5Activities PROPERTIES 0072 DESCRIPTION "Library for Activities" 0073 PURPOSE "Required for activities support (optional)" 0074 TYPE OPTIONAL 0075 ) 0076 if(KF5Activities_FOUND) 0077 set(HAVE_KACTIVITIES TRUE) 0078 endif() 0079 0080 # TODO KF6 remove 0081 ecm_setup_qtplugin_macro_names( 0082 JSON_NONE 0083 "K_EXPORT_PLASMA_RUNNER" 0084 "K_EXPORT_RUNNER_CONFIG" 0085 JSON_ARG2 0086 "K_EXPORT_PLASMA_RUNNER_WITH_JSON" 0087 CONFIG_CODE_VARIABLE 0088 PACKAGE_SETUP_AUTOMOC_VARIABLES 0089 ) 0090 0091 # Subdirectories 0092 add_subdirectory(src) 0093 if (BUILD_TESTING) 0094 add_subdirectory(autotests) 0095 endif() 0096 add_subdirectory(templates) 0097 0098 # Create a Config.cmake and a ConfigVersion.cmake file and install them 0099 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5Runner") 0100 0101 if (BUILD_QCH) 0102 ecm_install_qch_export( 0103 TARGETS KF5Runner_QCH 0104 FILE KF5RunnerQchTargets.cmake 0105 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0106 COMPONENT Devel 0107 ) 0108 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF5RunnerQchTargets.cmake\")") 0109 endif() 0110 0111 configure_package_config_file( 0112 "${CMAKE_CURRENT_SOURCE_DIR}/KF5RunnerConfig.cmake.in" 0113 "${CMAKE_CURRENT_BINARY_DIR}/KF5RunnerConfig.cmake" 0114 INSTALL_DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0115 ) 0116 0117 install(FILES 0118 "${CMAKE_CURRENT_BINARY_DIR}/KF5RunnerConfig.cmake" 0119 "${CMAKE_CURRENT_BINARY_DIR}/KF5RunnerConfigVersion.cmake" 0120 "${CMAKE_CURRENT_SOURCE_DIR}/KF5KRunnerMacros.cmake" 0121 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0122 COMPONENT Devel) 0123 0124 install(EXPORT KF5RunnerTargets 0125 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0126 FILE KF5RunnerTargets.cmake 0127 NAMESPACE KF5::) 0128 0129 install(FILES "${CMAKE_CURRENT_BINARY_DIR}/krunner_version.h" 0130 DESTINATION "${KDE_INSTALL_INCLUDEDIR_KF}/KRunner" 0131 COMPONENT Devel) 0132 0133 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 0134 0135 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)