Warning, /frameworks/kcmutils/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16) 0002 0003 set(KF_VERSION "6.0.0") # handled by release scripts 0004 set(KF_DEP_VERSION "5.249.0") # handled by release scripts 0005 project(KCMUtils VERSION ${KF_VERSION}) 0006 0007 include(FeatureSummary) 0008 find_package(ECM 5.249.0 NO_MODULE) 0009 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://invent.kde.org/frameworks/extra-cmake-modules") 0010 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) 0011 0012 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) 0013 0014 include(KDEInstallDirs) 0015 include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) 0016 include(KDECMakeSettings) 0017 0018 include(ECMGenerateExportHeader) 0019 include(ECMSetupVersion) 0020 include(ECMGenerateHeaders) 0021 include(CMakePackageConfigHelpers) 0022 include(ECMAddQch) 0023 include(ECMQtDeclareLoggingCategory) 0024 include(ECMDeprecationSettings) 0025 include(ECMMarkNonGuiExecutable) 0026 include(KDEGitCommitHooks) 0027 include(ECMQmlModule) 0028 0029 0030 include(CMakeDependentOption) 0031 option(TOOLS_ONLY "Only build the tools and not the rest of KCMUtils" OFF) 0032 if (TOOLS_ONLY) 0033 find_package(Qt6 ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED Core) 0034 add_subdirectory(tools) 0035 return() 0036 endif() 0037 0038 set(REQUIRED_QT_VERSION 6.5.0) 0039 find_package(Qt6 ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED Widgets Qml Quick QuickWidgets Test) 0040 0041 if (NOT WIN32 AND NOT APPLE) 0042 find_package(Qt6DBus ${REQUIRED_QT_VERSION} REQUIRED) 0043 endif() 0044 0045 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) 0046 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") 0047 0048 set(kcmutils_version_header "${CMAKE_CURRENT_BINARY_DIR}/src/kcmutils_version.h") 0049 ecm_setup_version(PROJECT VARIABLE_PREFIX KCMUTILS 0050 VERSION_HEADER "${kcmutils_version_header}" 0051 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF6KCMUtilsConfigVersion.cmake" 0052 SOVERSION 6) 0053 0054 find_package(KF6KIO ${KF_DEP_VERSION} REQUIRED) 0055 find_package(KF6ItemViews ${KF_DEP_VERSION} REQUIRED) 0056 find_package(KF6ConfigWidgets ${KF_DEP_VERSION} REQUIRED) 0057 find_package(KF6CoreAddons ${KF_DEP_VERSION} REQUIRED) 0058 find_package(KF6GuiAddons ${KF_DEP_VERSION} REQUIRED) 0059 find_package(KF6I18n ${KF_DEP_VERSION} REQUIRED) 0060 find_package(KF6XmlGui ${KF_DEP_VERSION} REQUIRED) 0061 find_package(KF6WidgetsAddons ${KF_DEP_VERSION} REQUIRED) 0062 0063 ecm_set_disabled_deprecation_versions( 0064 QT 6.5.0 0065 KF 5.102.0 0066 ) 0067 0068 add_definitions(-DTRANSLATION_DOMAIN=\"kcmutils6\") 0069 ki18n_install(po) 0070 add_subdirectory(src) 0071 add_subdirectory(tools) 0072 if(BUILD_TESTING) 0073 add_subdirectory(autotests) 0074 endif() 0075 0076 0077 # create a Config.cmake and a ConfigVersion.cmake file and install them 0078 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6KCMUtils") 0079 0080 if (BUILD_QCH) 0081 ecm_install_qch_export( 0082 TARGETS KF6KCMUtils_QCH 0083 FILE KF6KCMUtilsQchTargets.cmake 0084 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0085 COMPONENT Devel 0086 ) 0087 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF6KCMUtilsQchTargets.cmake\")") 0088 endif() 0089 0090 configure_package_config_file( 0091 "${CMAKE_CURRENT_SOURCE_DIR}/KF6KCMUtilsConfig.cmake.in" 0092 "${CMAKE_CURRENT_BINARY_DIR}/KF6KCMUtilsConfig.cmake" 0093 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0094 ) 0095 0096 install(FILES 0097 "${CMAKE_CURRENT_BINARY_DIR}/KF6KCMUtilsConfig.cmake" 0098 "${CMAKE_CURRENT_BINARY_DIR}/KF6KCMUtilsConfigVersion.cmake" 0099 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0100 COMPONENT Devel 0101 ) 0102 0103 install( 0104 FILES 0105 ${CMAKE_CURRENT_SOURCE_DIR}/KF6KCMUtilsMacros.cmake 0106 ${CMAKE_CURRENT_SOURCE_DIR}/src/kcmutilsgeneratemoduledata.cpp.in 0107 ${CMAKE_CURRENT_SOURCE_DIR}/src/kcmutilsgeneratemoduledata.h.in 0108 DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0109 ) 0110 0111 install(EXPORT KF6KCMUtilsTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF6KCMUtilsTargets.cmake NAMESPACE KF6:: ) 0112 0113 install(FILES 0114 ${kcmutils_version_header} 0115 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KCMUtils COMPONENT Devel 0116 ) 0117 0118 include(ECMFeatureSummary) 0119 ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 0120 0121 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)