add_subdirectory(xrdriveripc) file(READ "${CMAKE_CURRENT_SOURCE_DIR}/../VERSION" BREEZY_DESKTOP_VERSION_RAW) if(NOT BREEZY_DESKTOP_VERSION_RAW) set(BREEZY_DESKTOP_VERSION_RAW "dev") endif() string(STRIP "${BREEZY_DESKTOP_VERSION_RAW}" BREEZY_DESKTOP_VERSION) add_subdirectory(kcm) kcoreaddons_add_plugin(breezy_desktop INSTALL_NAMESPACE "kwin/effects/plugins/") target_sources(breezy_desktop PRIVATE breezydesktopeffect.cpp main.cpp ) kconfig_add_kcfg_files(breezy_desktop breezydesktopconfig.kcfgc) # Split KWin version into numeric components (major, minor, patch) string(REGEX MATCHALL "[0-9]+" KWIN_VERSION_COMPONENTS "${KWin_VERSION}") # defaults set(KWIN_VERSION_MAJOR 0) set(KWIN_VERSION_MINOR 0) set(KWIN_VERSION_PATCH 0) list(LENGTH KWIN_VERSION_COMPONENTS _kwin_version_len) if(_kwin_version_len GREATER 0) list(GET KWIN_VERSION_COMPONENTS 0 KWIN_VERSION_MAJOR) endif() if(_kwin_version_len GREATER 1) list(GET KWIN_VERSION_COMPONENTS 1 KWIN_VERSION_MINOR) endif() if(_kwin_version_len GREATER 2) list(GET KWIN_VERSION_COMPONENTS 2 KWIN_VERSION_PATCH) endif() # optional: a single encoded integer (major*10000 + minor*100 + patch) math(EXPR KWIN_VERSION_ENCODED "${KWIN_VERSION_MAJOR} * 10000 + ${KWIN_VERSION_MINOR} * 100 + ${KWIN_VERSION_PATCH}") # Export as compile definitions. Keep the original string macro as well. target_compile_definitions(breezy_desktop PRIVATE KWIN_VERSION_STR=\"${KWin_VERSION}\" KWIN_VERSION_MAJOR=${KWIN_VERSION_MAJOR} KWIN_VERSION_MINOR=${KWIN_VERSION_MINOR} KWIN_VERSION_PATCH=${KWIN_VERSION_PATCH} KWIN_VERSION_ENCODED=${KWIN_VERSION_ENCODED} BREEZY_DESKTOP_VERSION_STR=\"${BREEZY_DESKTOP_VERSION}\" ) target_include_directories(breezy_desktop PRIVATE /usr/include/kwin) target_include_directories(breezy_desktop PRIVATE xrdriveripc) target_link_libraries(breezy_desktop Qt6::Core Qt6::Gui Qt6::Quick Qt6::DBus KF6::ConfigCore KF6::ConfigGui KF6::CoreAddons KF6::GlobalAccel KF6::I18n KF6::WindowSystem KWin::kwin xr_driver_ipc ) install(DIRECTORY qml DESTINATION ${KDE_INSTALL_DATADIR}/kwin/effects/breezy_desktop)