Warning, /frameworks/ktextwidgets/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(KTextWidgets VERSION ${KF_VERSION})
0006 
0007 # ECM setup
0008 include(FeatureSummary)
0009 find_package(ECM 5.249.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(KDEFrameworkCompilerSettings NO_POLICY_SCOPE)
0017 include(KDECMakeSettings)
0018 include(KDEGitCommitHooks)
0019 
0020 include(ECMGenerateExportHeader)
0021 include(ECMSetupVersion)
0022 include(ECMGenerateHeaders)
0023 include(CMakePackageConfigHelpers)
0024 include(ECMAddQch)
0025 include(ECMDeprecationSettings)
0026 include(CMakeDependentOption)
0027 
0028 set(ktextwidgets_version_header "${CMAKE_CURRENT_BINARY_DIR}/src/ktextwidgets_version.h")
0029 ecm_setup_version(PROJECT
0030                   VARIABLE_PREFIX KTEXTWIDGETS
0031                   VERSION_HEADER "${ktextwidgets_version_header}"
0032                   PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF6TextWidgetsConfigVersion.cmake"
0033                   SOVERSION 6)
0034 
0035 # Dependencies
0036 set(REQUIRED_QT_VERSION 6.5.0)
0037 
0038 option(WITH_TEXT_TO_SPEECH "Build text-to-speech support" ON)
0039 
0040 find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Widgets)
0041 
0042 if (WITH_TEXT_TO_SPEECH)
0043     find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED TextToSpeech)
0044     add_definitions(-DHAVE_SPEECH)
0045 endif()
0046 
0047 find_package(KF6Completion ${KF_DEP_VERSION} REQUIRED)
0048 find_package(KF6Config ${KF_DEP_VERSION} REQUIRED)
0049 find_package(KF6ConfigWidgets ${KF_DEP_VERSION} REQUIRED)
0050 find_package(KF6I18n ${KF_DEP_VERSION} REQUIRED)
0051 find_package(KF6WidgetsAddons ${KF_DEP_VERSION} REQUIRED)
0052 find_package(KF6Sonnet ${KF_DEP_VERSION} REQUIRED)
0053 
0054 set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].")
0055 
0056 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF)
0057 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)")
0058 
0059 cmake_dependent_option(BUILD_DESIGNERPLUGIN "Build plugin for Qt Designer" ON "NOT CMAKE_CROSSCOMPILING" OFF)
0060 add_feature_info(DESIGNERPLUGIN ${BUILD_DESIGNERPLUGIN} "Build plugin for Qt Designer")
0061 
0062 add_definitions(-DTRANSLATION_DOMAIN=\"ktextwidgets6\")
0063 
0064 ecm_set_disabled_deprecation_versions(
0065     QT 6.5
0066     KF 5.240
0067 )
0068 
0069 ki18n_install(po)
0070 add_subdirectory(src)
0071 if (BUILD_TESTING)
0072     add_subdirectory(tests)
0073     add_subdirectory(autotests)
0074 endif()
0075 
0076 # create a Config.cmake and a ConfigVersion.cmake file and install them
0077 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6TextWidgets")
0078 
0079 if (BUILD_QCH)
0080     ecm_install_qch_export(
0081         TARGETS KF6TextWidgets_QCH
0082         FILE KF6TextWidgetsQchTargets.cmake
0083         DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0084         COMPONENT Devel
0085     )
0086     set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF6TextWidgetsQchTargets.cmake\")")
0087 endif()
0088 
0089 configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/KF6TextWidgetsConfig.cmake.in"
0090                               "${CMAKE_CURRENT_BINARY_DIR}/KF6TextWidgetsConfig.cmake"
0091                               INSTALL_DESTINATION  ${CMAKECONFIG_INSTALL_DIR}
0092                              )
0093 
0094 install(EXPORT KF6TextWidgetsTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF6TextWidgetsTargets.cmake NAMESPACE KF6:: )
0095 
0096 install(FILES "${CMAKE_CURRENT_BINARY_DIR}/KF6TextWidgetsConfig.cmake"
0097               "${CMAKE_CURRENT_BINARY_DIR}/KF6TextWidgetsConfigVersion.cmake"
0098         DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0099         COMPONENT Devel
0100        )
0101 
0102 install(FILES ${ktextwidgets_version_header}
0103         DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KTextWidgets COMPONENT Devel
0104        )
0105 
0106 include(ECMFeatureSummary)
0107 ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
0108 
0109 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)