cmake_minimum_required(VERSION 3.20) project(kwin-windowgrid VERSION 0.1.0 LANGUAGES CXX) set(QT_MIN_VERSION "6.8.0") set(KF6_MIN_VERSION "6.10.0") find_package(ECM ${KF6_MIN_VERSION} REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) include(KDEInstallDirs) include(KDECMakeSettings) include(KDECompilerSettings NO_POLICY_SCOPE) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_AUTOMOC ON) find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Gui OpenGL) find_package(KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS ConfigGui CoreAddons) find_package(KWin REQUIRED COMPONENTS kwineffects) find_package(epoxy REQUIRED) kcoreaddons_add_plugin(windowgrid INSTALL_NAMESPACE "kwin/effects/plugins" SOURCES main.cpp windowgrid.cpp windowgrid.h ) target_link_libraries(windowgrid PRIVATE KWin::kwin KF6::ConfigGui KF6::CoreAddons Qt6::Core Qt6::Gui Qt6::OpenGL epoxy::epoxy )