cmake_minimum_required(VERSION 3.16) project(sloppyfocus VERSION 0.1.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_AUTOMOC ON) find_package(ECM 5.80 REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) # --- Detect Qt6/KF6 or fall back to Qt5/KF5 --- find_package(KF6TextEditor QUIET CONFIG) if(KF6TextEditor_FOUND) set(QT_MAJOR_VERSION 6) else() set(QT_MAJOR_VERSION 5) endif() include(KDEInstallDirs) include(KDECMakeSettings) include(KDECompilerSettings NO_POLICY_SCOPE) if(QT_MAJOR_VERSION EQUAL 6) find_package(Qt6 REQUIRED COMPONENTS Core Widgets) find_package(KF6I18n REQUIRED) find_package(KF6CoreAddons REQUIRED) set(KF_LINK_LIBS KF6::TextEditor KF6::I18n Qt6::Core Qt6::Widgets ) set(PLUGIN_INSTALL_NS "kf6/ktexteditor") message(STATUS "Building Sloppy Focus with KF6/Qt6") else() find_package(Qt5 REQUIRED COMPONENTS Core Widgets) find_package(KF5TextEditor REQUIRED) find_package(KF5I18n REQUIRED) find_package(KF5CoreAddons REQUIRED) set(KF_LINK_LIBS KF5::TextEditor KF5::I18n Qt5::Core Qt5::Widgets ) set(PLUGIN_INSTALL_NS "ktexteditor") message(STATUS "Building Sloppy Focus with KF5/Qt5") endif() kcoreaddons_add_plugin(sloppyfocus SOURCES sloppyfocus.cpp INSTALL_NAMESPACE "${PLUGIN_INSTALL_NS}" ) target_link_libraries(sloppyfocus ${KF_LINK_LIBS}) target_include_directories(sloppyfocus PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})