Warning, /libraries/kmoretools/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.240.0") # handled by release scripts
0007 set(KF_DEP_VERSION "5.240.0") # handled by release scripts
0008 project(KMoreTools VERSION ${KF_VERSION})
0009 
0010 set(CMAKE_CXX_EXTENSIONS OFF)
0011 
0012 include(FeatureSummary)
0013 find_package(ECM 5.240.0 NO_MODULE)
0014 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules")
0015 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES)
0016 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
0017 
0018 include(ECMQmlModule)
0019 include(ECMQtDeclareLoggingCategory)
0020 include(KDEInstallDirs)
0021 include(KDECMakeSettings)
0022 include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE)
0023 
0024 set(REQUIRED_QT_VERSION 6.4.0)
0025 find_package(Qt6 ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED COMPONENTS Gui Widgets Xml)
0026 find_package(Qt6 ${REQUIRED_QT_VERSION} NO_MODULE COMPONENTS Qml Quick)
0027 find_package(KF6Config ${KF_DEP_VERSION} REQUIRED)
0028 find_package(KF6CoreAddons ${KF_DEP_VERSION} REQUIRED)
0029 find_package(KF6I18n ${KF_DEP_VERSION} REQUIRED)
0030 find_package(KF6JobWidgets ${KF_DEP_VERSION} REQUIRED)
0031 find_package(KF6KIO ${KF_DEP_VERSION} REQUIRED)
0032 find_package(KF6Service ${KF_DEP_VERSION} REQUIRED)
0033 find_package(KF6WidgetsAddons ${KF_DEP_VERSION} REQUIRED)
0034 
0035 include(ECMGenerateExportHeader)
0036 include(ECMSetupVersion)
0037 include(ECMGenerateHeaders)
0038 include(ECMAddQch)
0039 include(ECMDeprecationSettings)
0040 include(KDEClangFormat)
0041 include(KDEGitCommitHooks)
0042 include(CMakeDependentOption)
0043 
0044 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF)
0045 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)")
0046 
0047 set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].")
0048 
0049 ecm_setup_version(PROJECT VARIABLE_PREFIX KMORETOOLS
0050                         VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kmoretools_version.h"
0051                         PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF6MoreToolsConfigVersion.cmake"
0052                         SOVERSION 6)
0053 
0054 add_definitions(-DTRANSLATION_DOMAIN=\"kmoretools6\")
0055 ecm_set_disabled_deprecation_versions(
0056     QT 6.4.0
0057     KF 5.102
0058 )
0059 
0060 ki18n_install(po)
0061 add_subdirectory(data)
0062 add_subdirectory(src)
0063 if (BUILD_TESTING)
0064     find_package(Qt6Test ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED)
0065     set_package_properties(Qt6Test PROPERTIES
0066         TYPE REQUIRED
0067         PURPOSE "Required for unit tests")
0068 
0069     add_subdirectory(autotests)
0070     add_subdirectory(tests)
0071 endif()
0072 
0073 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6MoreTools")
0074 
0075 if (BUILD_QCH)
0076     ecm_install_qch_export(
0077         TARGETS KF6MoreTools_QCH
0078         FILE KF6MoreToolsQchTargets.cmake
0079         DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0080         COMPONENT Devel
0081     )
0082     set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF6MoreToolsQchTargets.cmake\")")
0083 endif()
0084 
0085 include(CMakePackageConfigHelpers)
0086 
0087 configure_package_config_file(
0088   "${CMAKE_CURRENT_SOURCE_DIR}/KF6MoreToolsConfig.cmake.in"
0089   "${CMAKE_CURRENT_BINARY_DIR}/KF6MoreToolsConfig.cmake"
0090   INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
0091 )
0092 
0093 install(FILES
0094   "${CMAKE_CURRENT_BINARY_DIR}/KF6MoreToolsConfig.cmake"
0095   "${CMAKE_CURRENT_BINARY_DIR}/KF6MoreToolsConfigVersion.cmake"
0096   DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0097   COMPONENT Devel
0098 )
0099 
0100 install(EXPORT KF6MoreToolsTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF6MoreToolsTargets.cmake NAMESPACE KF6:: )
0101 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kmoretools_version.h DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF} COMPONENT Devel)
0102 
0103 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
0104 
0105 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)