cmake_minimum_required(VERSION 3.21) project(kate-custom VERSION 0.1.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_AUTOMOC ON) set(QT_MIN_VERSION 6.5.0) set(KF_MIN_VERSION 6.0.0) # Default to an optimized build when the user did not pick one. The palette # re-rank and indexing are measurably ~5-8x slower under -O0 (see docs/PERF.md), # so an unqualified `cmake -B build` should not ship a Debug plugin. if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Build type (Debug, Release, RelWithDebInfo, MinSizeRel)" FORCE) endif() find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE) list(APPEND CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) include(KDEInstallDirs) include(KDECMakeSettings) include(KDECompilerSettings NO_POLICY_SCOPE) set(CMAKE_POSITION_INDEPENDENT_CODE ON) find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Gui Widgets Concurrent) find_package(Qt6 ${QT_MIN_VERSION} COMPONENTS Test) find_package(KF6 ${KF_MIN_VERSION} COMPONENTS TextEditor XmlGui CoreAddons I18n) enable_testing() add_subdirectory(src)