Warning, /frameworks/kglobalaccel/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16) 0002 0003 set(KF_VERSION "5.116.0") # handled by release scripts 0004 set(KF_DEP_VERSION "5.115.0") # handled by release scripts 0005 project(KGlobalAccel VERSION ${KF_VERSION}) 0006 0007 # ECM setup 0008 include(FeatureSummary) 0009 find_package(ECM 5.115.0 NO_MODULE) 0010 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") 0011 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) 0012 0013 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) 0014 0015 include(KDEInstallDirs) 0016 include(KDECMakeSettings) 0017 include(KDEGitCommitHooks) 0018 include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) 0019 0020 include(ECMGenerateExportHeader) 0021 include(CMakePackageConfigHelpers) 0022 include(ECMSetupVersion) 0023 include(ECMGenerateHeaders) 0024 include(ECMAddQch) 0025 include(ECMMarkNonGuiExecutable) 0026 include(ECMQtDeclareLoggingCategory) 0027 include(ECMPoQmTools) 0028 include(ECMDeprecationSettings) 0029 0030 set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") 0031 0032 option(BUILD_RUNTIME "Build the kglobalacceld runtime" ON) 0033 add_feature_info(BUILD_RUNTIME ${BUILD_RUNTIME} "The kglobalacceld runtime") 0034 0035 option(KF6_COMPAT_BUILD "Don't build runtime components that conflict with KF6" OFF) 0036 0037 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) 0038 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") 0039 0040 ecm_setup_version(PROJECT VARIABLE_PREFIX KGLOBALACCEL 0041 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kglobalaccel_version.h" 0042 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5GlobalAccelConfigVersion.cmake" 0043 SOVERSION 5) 0044 0045 # Dependencies 0046 set(REQUIRED_QT_VERSION 5.15.2) 0047 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED DBus Widgets) 0048 0049 # Dependencies of runtime component 0050 if (BUILD_RUNTIME) 0051 find_package(KF5Config ${KF_DEP_VERSION} REQUIRED) 0052 find_package(KF5CoreAddons ${KF_DEP_VERSION} REQUIRED) 0053 find_package(KF5Crash ${KF_DEP_VERSION} REQUIRED) 0054 find_package(KF5DBusAddons ${KF_DEP_VERSION} REQUIRED) 0055 find_package(KF5WindowSystem ${KF_DEP_VERSION} REQUIRED) 0056 endif() 0057 0058 # no X11 stuff on mac 0059 if (BUILD_RUNTIME AND NOT APPLE) 0060 find_package(XCB MODULE COMPONENTS XCB KEYSYMS XKB RECORD OPTIONAL_COMPONENTS XTEST) 0061 set_package_properties(XCB PROPERTIES DESCRIPTION "X protocol C-language Binding" 0062 TYPE OPTIONAL 0063 ) 0064 0065 find_package(X11) 0066 endif() 0067 0068 set(HAVE_X11 0) 0069 0070 if(X11_FOUND AND XCB_XCB_FOUND) 0071 set(HAVE_X11 1) 0072 if (QT_MAJOR_VERSION STREQUAL "5") 0073 find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED X11Extras) 0074 elseif (QT_MAJOR_VERSION STREQUAL "6") 0075 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED Gui) # qtx11extras_p.h 0076 endif() 0077 endif() 0078 0079 ecm_set_disabled_deprecation_versions( 0080 QT 5.15.2 0081 KF 5.95.0 0082 ) 0083 0084 # Subdirectories 0085 ecm_install_po_files_as_qm(poqm) 0086 0087 add_subdirectory(src) 0088 if (BUILD_TESTING) 0089 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED Test) 0090 0091 add_subdirectory(tests) 0092 add_subdirectory(autotests) 0093 endif() 0094 0095 # create a Config.cmake and a ConfigVersion.cmake file and install them 0096 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5GlobalAccel") 0097 0098 if (BUILD_QCH) 0099 ecm_install_qch_export( 0100 TARGETS KF5GlobalAccel_QCH 0101 FILE KF5GlobalAccelQchTargets.cmake 0102 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0103 COMPONENT Devel 0104 ) 0105 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF5GlobalAccelQchTargets.cmake\")") 0106 endif() 0107 0108 configure_package_config_file( 0109 "${CMAKE_CURRENT_SOURCE_DIR}/KF5GlobalAccelConfig.cmake.in" 0110 "${CMAKE_CURRENT_BINARY_DIR}/KF5GlobalAccelConfig.cmake" 0111 PATH_VARS KDE_INSTALL_DBUSINTERFACEDIR 0112 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0113 ) 0114 0115 install(FILES "${CMAKE_CURRENT_BINARY_DIR}/KF5GlobalAccelConfig.cmake" 0116 "${CMAKE_CURRENT_BINARY_DIR}/KF5GlobalAccelConfigVersion.cmake" 0117 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0118 COMPONENT Devel ) 0119 0120 install(EXPORT KF5GlobalAccelTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF5GlobalAccelTargets.cmake NAMESPACE KF5:: ) 0121 0122 0123 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kglobalaccel_version.h 0124 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KGlobalAccel COMPONENT Devel) 0125 0126 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 0127 0128 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)