106 lines
2.4 KiB
CMake
106 lines
2.4 KiB
CMake
cmake_minimum_required(VERSION 3.20)
|
|
|
|
project(breezy_desktop_kwin_plugin VERSION 0.0.1 LANGUAGES CXX)
|
|
|
|
set(PROJECT_DEP_VERSION "6.3.90")
|
|
set(QT_MIN_VERSION "6.8.0")
|
|
set(KF6_MIN_VERSION "6.14.0")
|
|
set(KDE_COMPILERSETTINGS_LEVEL "5.82")
|
|
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
|
|
include(cmake/default-vars.cmake)
|
|
|
|
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)
|
|
include(ECMQtDeclareLoggingCategory)
|
|
include(ECMGenerateExportHeader)
|
|
include(ECMInstallIcons)
|
|
include(KDEPackageAppTemplates)
|
|
include(GenerateExportHeader)
|
|
include(CMakePackageConfigHelpers)
|
|
include(KDEClangFormat)
|
|
include(KDEGitCommitHooks)
|
|
include(ECMDeprecationSettings)
|
|
include(ECMQmlModule)
|
|
|
|
find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED
|
|
Core
|
|
Gui
|
|
DBus
|
|
Network
|
|
Quick
|
|
Qml
|
|
Widgets
|
|
Test
|
|
Core5Compat
|
|
)
|
|
|
|
find_package(KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS
|
|
Config
|
|
CoreAddons
|
|
DBusAddons
|
|
Declarative
|
|
GlobalAccel
|
|
Holidays
|
|
I18n
|
|
Auth
|
|
KIO
|
|
KCMUtils
|
|
Notifications
|
|
Runner
|
|
Service
|
|
Sonnet
|
|
UnitConversion
|
|
XmlGui
|
|
NewStuff
|
|
JobWidgets
|
|
Svg
|
|
)
|
|
|
|
find_package(Plasma5Support ${PROJECT_DEP_VERSION} REQUIRED)
|
|
find_package(Plasma ${PROJECT_DEP_VERSION} REQUIRED)
|
|
find_package(PlasmaQuick ${PROJECT_DEP_VERSION} REQUIRED)
|
|
|
|
|
|
# required frameworks by Core
|
|
find_package(KF${QT_MAJOR_VERSION} ${KF_MIN_VERSION} REQUIRED COMPONENTS
|
|
Config
|
|
ConfigWidgets
|
|
CoreAddons
|
|
GlobalAccel
|
|
I18n
|
|
KCMUtils
|
|
WindowSystem
|
|
XmlGui
|
|
)
|
|
|
|
if(${QT_MAJOR_VERSION} EQUAL 6)
|
|
find_package(KF${QT_MAJOR_VERSION} ${KF_MIN_VERSION} REQUIRED COMPONENTS KCMUtils)
|
|
find_package(KWin REQUIRED COMPONENTS kwineffects)
|
|
message(STATUS "Found KWin Version: ${KWin_VERSION}")
|
|
else()
|
|
find_package(KWinEffects REQUIRED COMPONENTS kwineffects kwinglutils)
|
|
message(STATUS "Found KWin Version: ${KWinEffects_VERSION}")
|
|
endif ()
|
|
include(cmake/info.cmake)
|
|
find_package(epoxy REQUIRED)
|
|
find_package(XCB REQUIRED COMPONENTS XCB)
|
|
find_package(KWinDBusInterface CONFIG REQUIRED)
|
|
|
|
add_subdirectory(src)
|
|
ki18n_install(po)
|
|
|
|
feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
|
|
|
|
include(cmake/test.cmake)
|
|
include(cmake/pack.cmake)
|