Warning, /utilities/kate/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # 3.16 is required for the ECM version we require
0002 cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
0003 
0004 # KDE Applications version, managed by release script.
0005 set(RELEASE_SERVICE_VERSION_MAJOR "24")
0006 set(RELEASE_SERVICE_VERSION_MINOR "01")
0007 set(RELEASE_SERVICE_VERSION_MICRO "95")
0008 set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
0009 
0010 project(kate VERSION ${RELEASE_SERVICE_VERSION})
0011 
0012 # KF6 only
0013 set(QT_MIN_VERSION "6.5.0")
0014 set(KF5_DEP_VERSION "5.240.0")
0015 set(QT_MAJOR_VERSION "6")
0016 
0017 # We need some parts of the ECM CMake helpers.
0018 find_package(ECM ${KF5_DEP_VERSION} QUIET REQUIRED NO_MODULE)
0019 
0020 # We append to the module path so modules can be overridden from the command line.
0021 list(APPEND CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
0022 
0023 include(KDECompilerSettings NO_POLICY_SCOPE)
0024 include(KDEInstallDirs)
0025 include(KDECMakeSettings)
0026 include(KDEClangFormat)
0027 include(KDEGitCommitHooks)
0028 
0029 include(ECMOptionalAddSubdirectory)
0030 include(ECMAddAppIcon)
0031 include(ECMInstallIcons)
0032 include(ECMDeprecationSettings)
0033 
0034 include(FeatureSummary)
0035 include(FindIntl)
0036 
0037 # Required here so that the version comparison below works
0038 find_package(Qt6Widgets ${QT_MIN_VERSION} CONFIG REQUIRED)
0039 
0040 # Required here so that the ki18n_install/kdoctools_install calls work.
0041 find_package(KF6 ${KF5_DEP_VERSION}
0042     REQUIRED COMPONENTS
0043         I18n
0044         CoreAddons
0045         GuiAddons
0046         Crash
0047         IconThemes
0048         TextEditor
0049     OPTIONAL_COMPONENTS
0050         DocTools
0051 )
0052 
0053 if (NOT WIN32 AND NOT HAIKU)
0054     find_package(Intl)
0055     set_package_properties(Intl PROPERTIES TYPE REQUIRED
0056         URL "http://gnuwin32.sourceforge.net/packages/libintl.htm"
0057         PURPOSE "Needed for building kate unless glibc is the system libc implementation"
0058     )
0059 endif()
0060 
0061 # define which offscreen platform plugin to use for tests
0062 # windows has issues with offscreen tests in the CI
0063 set(OFFSCREEN_QPA)
0064 if(NOT WIN32)
0065     set(OFFSCREEN_QPA "-platform" "offscreen")
0066 endif()
0067 
0068 option(BUILD_PCH "Enable PCH support" ON)
0069 if (BUILD_PCH)
0070     add_subdirectory(pch)
0071 endif()
0072 
0073 # addons for Kate
0074 ecm_optional_add_subdirectory(addons)
0075 
0076 # the Kate & KWrite applications
0077 ecm_optional_add_subdirectory(apps)
0078 
0079 # our documentation
0080 ecm_optional_add_subdirectory(doc)
0081 
0082 ki18n_install(po)
0083 if(KF6DocTools_FOUND)
0084     kdoctools_install(po)
0085 endif()
0086 
0087 feature_summary(INCLUDE_QUIET_PACKAGES WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
0088 
0089 # add clang-format target for all our real source files
0090 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0091 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0092 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)