Warning, /libraries/ktextaddons/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # SPDX-FileCopyrightText: 2022-2024 Laurent Montel <montel@kde.org>
0002 # SPDX-License-Identifier: BSD-3-Clause
0003 cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
0004 set(KTEXTADDONS_CURRENT_VERSION "1.5.45")
0005 project(KTextAddons VERSION ${KTEXTADDONS_CURRENT_VERSION})
0006 
0007 include(FeatureSummary)
0008 set(KF_MIN_VERSION "5.115.0")
0009 find_package(ECM ${KF_MIN_VERSION}  NO_MODULE)
0010 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://invent.kde.org/frameworks/extra-cmake-modules")
0011 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES)
0012 
0013 set(CMAKE_MODULE_PATH  ${CMAKE_CURRENT_SOURCE_DIR}/cmake/ ${ECM_MODULE_PATH})
0014 
0015 set(REQUIRED_QT_VERSION 5.15.2)
0016 
0017 
0018 include(KDEInstallDirs)
0019 include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE)
0020 include(KDECMakeSettings)
0021 include(KDEGitCommitHooks)
0022 
0023 include(ECMGenerateExportHeader)
0024 include(ECMSetupVersion)
0025 include(ECMGenerateHeaders)
0026 include(CMakePackageConfigHelpers)
0027 include(ECMAddQch)
0028 include(ECMAddTests)
0029 include(ECMDeprecationSettings)
0030 include(CMakeDependentOption)
0031 include(ECMQtDeclareLoggingCategory)
0032 
0033 if (QT_MAJOR_VERSION STREQUAL "6")
0034     set(QT_REQUIRED_VERSION "6.6.0")
0035     set(KF_MIN_VERSION "5.246.0")
0036     set(KF_MAJOR_VERSION "6")
0037 else()
0038     set(KF_MAJOR_VERSION "5")
0039 endif()
0040 
0041 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED Widgets Core Network)
0042 
0043 find_package(KF${KF_MAJOR_VERSION} ${KF_MIN_VERSION} REQUIRED COMPONENTS
0044     I18n
0045     ConfigWidgets
0046     Archive
0047     CoreAddons
0048     Sonnet
0049     KIO
0050     SyntaxHighlighting
0051 )
0052 
0053 option(BUILD_DESIGNERPLUGIN "Build plugin for Qt Designer" ON)
0054 add_feature_info(DESIGNERPLUGIN ${BUILD_DESIGNERPLUGIN} "Build plugin for Qt Designer")
0055 
0056 find_package(Qt${QT_MAJOR_VERSION}Keychain CONFIG)
0057 set_package_properties(Qt${QT_MAJOR_VERSION}Keychain PROPERTIES
0058                                    DESCRIPTION "Provides support for secure credentials storage"
0059                                    URL "https://github.com/frankosterfeld/qtkeychain"
0060                                    TYPE REQUIRED)
0061 
0062 if(BUILD_TESTING)
0063     find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Test)
0064     add_definitions(-DBUILD_TESTING)
0065 endif(BUILD_TESTING)
0066 
0067 option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF)
0068 
0069 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT OFF)
0070 if (USE_UNITY_CMAKE_SUPPORT)
0071     set(COMPILE_WITH_UNITY_CMAKE_SUPPORT ON)
0072 endif()
0073 
0074 option(BERGAMOT_TRANSLATOR_PLUGIN "Build bergamot translator plugin" OFF)
0075 add_feature_info(BERGAMOT_TRANSLATOR_PLUGIN ${BERGAMOT_TRANSLATOR_PLUGIN} "Bergamot translator plugin (local translation) (Experimental. Need to download bergamot source code first)")
0076 
0077 option(SPEAK_TO_TEXT_VOSK_PLUGIN "Build vosk speak to text support" OFF)
0078 add_feature_info(SPEAK_TO_TEXT_VOSK_PLUGIN ${SPEAK_TO_TEXT_VOSK_PLUGIN} "Vosk speak to text plugin (local text to speak) (Experimental)")
0079 
0080 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF)
0081 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)")
0082 
0083 option(DISABLE_AUTOTEST_BROKEN_CI "Disable autotest broken on CI (work locally)" OFF)
0084 
0085 add_definitions(-DQT_NO_CONTEXTLESS_CONNECT)
0086 ecm_set_disabled_deprecation_versions(
0087     QT 6.6.0
0088     KF 5.248.0
0089 )
0090 
0091 if (BERGAMOT_TRANSLATOR_PLUGIN)
0092    find_package(slimt)
0093    set_package_properties(slimt PROPERTIES DESCRIPTION
0094        "Add local translation based on Bergamot"
0095        TYPE OPTIONAL
0096    )
0097 endif()
0098 
0099 
0100 add_subdirectory(textaddonswidgets)
0101 add_subdirectory(textautocorrection)
0102 add_subdirectory(textgrammarcheck)
0103 add_subdirectory(texttranslator)
0104 add_subdirectory(textemoticons)
0105 add_subdirectory(textutils)
0106 if (QT_MAJOR_VERSION STREQUAL "6")
0107     find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED MultimediaWidgets)
0108     add_subdirectory(textspeechtotext)
0109 endif()
0110 
0111 find_package(Qt${QT_MAJOR_VERSION}TextToSpeech ${QT_REQUIRED_VERSION} CONFIG)
0112 set_package_properties(Qt${QT_MAJOR_VERSION}TextToSpeech PROPERTIES DESCRIPTION
0113     "Add support for text to speech"
0114     TYPE OPTIONAL
0115 )
0116 if(TARGET Qt${QT_MAJOR_VERSION}::TextToSpeech)
0117     add_subdirectory(textedittexttospeech)
0118 endif()
0119 
0120 add_subdirectory(textcustomeditor)
0121 ecm_qt_install_logging_categories(
0122         EXPORT KTEXTADDONS
0123         FILE ktextaddons.categories
0124         DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
0125         )
0126 
0127 
0128 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
0129 ki18n_install(po)
0130 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)