Warning, /frameworks/ktexttemplate/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 project(KTextTemplate VERSION ${KF_VERSION}) 0005 0006 include(FeatureSummary) 0007 find_package(ECM 5.249.0 CONFIG) 0008 set_package_properties(ECM PROPERTIES 0009 TYPE REQUIRED 0010 DESCRIPTION "Extra CMake Modules." 0011 URL "https://commits.kde.org/extra-cmake-modules" 0012 ) 0013 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) 0014 0015 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) 0016 0017 include(KDEInstallDirs) 0018 include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) 0019 include(KDECMakeSettings) 0020 include(KDEGitCommitHooks) 0021 0022 set(REQUIRED_QT_VERSION 6.5.0) 0023 find_package(Qt6Core ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) 0024 find_package(Qt6Qml ${REQUIRED_QT_VERSION} NO_MODULE) 0025 0026 set_package_properties(Qt6Qml PROPERTIES 0027 TYPE OPTIONAL 0028 PURPOSE "Build Javascript binding for KTextDocument" 0029 ) 0030 0031 include(ECMQtDeclareLoggingCategory) 0032 include(ECMDeprecationSettings) 0033 include(ECMGenerateHeaders) 0034 include(ECMAddQch) 0035 include(ECMSetupVersion) 0036 include(ECMGenerateExportHeader) 0037 include(CMakePackageConfigHelpers) 0038 0039 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) 0040 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") 0041 0042 set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") 0043 0044 set(KTextTemplate_MODULE_DIR ${CMAKE_SOURCE_DIR}/cmake/modules) 0045 list(APPEND CMAKE_MODULE_PATH ${KTextTemplate_MODULE_DIR}) 0046 0047 if (CMAKE_COMPILER_IS_GNUCXX) 0048 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wshadow -std=iso9899:1990 -Werror-implicit-function-declaration") 0049 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wshadow -fno-check-new") 0050 endif() 0051 0052 ecm_set_disabled_deprecation_versions( 0053 QT 6.5 0054 ) 0055 0056 kde_enable_exceptions() 0057 0058 set( KTextTemplate_INSTALL_PLUGINDIR ${KDE_INSTALL_PLUGINDIR}/kf6/ktexttemplate ) 0059 0060 include("${KTextTemplate_MODULE_DIR}/KF6TextTemplateMacros.cmake") 0061 0062 set(ktexttemplate_version_header "${CMAKE_CURRENT_BINARY_DIR}/src/lib/ktexttemplate_version.h") 0063 ecm_setup_version(PROJECT 0064 VARIABLE_PREFIX KTEXTTEMPLATE 0065 VERSION_HEADER "${ktexttemplate_version_header}" 0066 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF6TextTemplateConfigVersion.cmake" 0067 SOVERSION 6 0068 ) 0069 0070 add_subdirectory(src) 0071 0072 if (BUILD_TESTING) 0073 add_subdirectory(autotests) 0074 endif() 0075 0076 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6TextTemplate" ) 0077 0078 if (BUILD_QCH) 0079 ecm_install_qch_export( 0080 TARGETS KF6TextTemplate_QCH 0081 FILE KF6TextTemplateQchTargets.cmake 0082 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0083 COMPONENT Devel 0084 ) 0085 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF6TextTemplateQchTargets.cmake\")") 0086 endif() 0087 0088 configure_package_config_file( 0089 "${KTextTemplate_MODULE_DIR}/KF6TextTemplateConfig.cmake.in" 0090 "${CMAKE_BINARY_DIR}/KF6TextTemplateConfig.cmake" 0091 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0092 ) 0093 0094 install(FILES 0095 "${CMAKE_BINARY_DIR}/KF6TextTemplateConfig.cmake" 0096 "${CMAKE_BINARY_DIR}/KF6TextTemplateConfigVersion.cmake" 0097 "${KTextTemplate_MODULE_DIR}/KF6TextTemplateMacros.cmake" 0098 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0099 COMPONENT Devel 0100 ) 0101 0102 install(EXPORT KF6TextTemplateTargets 0103 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0104 NAMESPACE KF6:: 0105 FILE KF6TextTemplateTargets.cmake 0106 ) 0107 0108 install(FILES 0109 ${ktexttemplate_version_header} 0110 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KTextTemplate 0111 COMPONENT Devel 0112 ) 0113 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0114 include(ECMFeatureSummary) 0115 ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)