diff --git a/CMakeLists.txt b/CMakeLists.txt index 3a21dc621f..278f38b2a6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,6 +38,7 @@ include(ECMOptionalAddSubdirectory) include(ECMConfiguredInstall) include(ECMQtDeclareLoggingCategory) include(ECMSetupQtPluginMacroNames) +include(ECMSetupVersion) option(KWIN_BUILD_DECORATIONS "Enable building of KWin decorations." ON) option(KWIN_BUILD_KCMS "Enable building of KWin configuration modules." ON) diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt index 940efc7fc4..be7a8d7e95 100644 --- a/autotests/CMakeLists.txt +++ b/autotests/CMakeLists.txt @@ -167,6 +167,7 @@ add_executable(testX11TimestampUpdate test_x11_timestamp_update.cpp) target_link_libraries(testX11TimestampUpdate KF6::CoreAddons Qt::Test + Qt::GuiPrivate kwin ) add_test(NAME kwin-testX11TimestampUpdate COMMAND testX11TimestampUpdate) diff --git a/autotests/drm/CMakeLists.txt b/autotests/drm/CMakeLists.txt index 1835146e7d..4c00cf6799 100644 --- a/autotests/drm/CMakeLists.txt +++ b/autotests/drm/CMakeLists.txt @@ -40,6 +40,7 @@ target_link_libraries(LibDrmTest XCB::XCB PkgConfig::Libxcvt gbm::gbm + Libdrm::Libdrm kwin ) target_include_directories(LibDrmTest diff --git a/autotests/integration/CMakeLists.txt b/autotests/integration/CMakeLists.txt index 7e8e3fc9ad..b972010f64 100644 --- a/autotests/integration/CMakeLists.txt +++ b/autotests/integration/CMakeLists.txt @@ -31,6 +31,7 @@ target_link_libraries(KWinIntegrationTestFramework Qt::Test KF6::WaylandClient Wayland::Client + Libdrm::Libdrm kwin PRIVATE @@ -43,6 +44,9 @@ target_link_libraries(KWinIntegrationTestFramework KF6WindowSystemKWinPlugin KF6IdleTimeKWinPlugin ) +if(TARGET PW::KScreenLocker) + target_link_libraries(KWinIntegrationTestFramework PUBLIC PW::KScreenLocker) +endif() function(integrationTest) set(optionArgs BUILTIN_EFFECTS) @@ -57,35 +61,35 @@ function(integrationTest) add_test(NAME kwin-${ARGS_NAME} COMMAND dbus-run-session ${CMAKE_BINARY_DIR}/bin/${ARGS_NAME}) endfunction() -integrationTest(NAME testDontCrashGlxgears SRCS dont_crash_glxgears.cpp) +integrationTest(NAME testDontCrashGlxgears SRCS dont_crash_glxgears.cpp LIBS KDecoration2::KDecoration) if (KWIN_BUILD_SCREENLOCKER) - integrationTest(NAME testLockScreen SRCS lockscreen.cpp) + integrationTest(NAME testLockScreen SRCS lockscreen.cpp LIBS KF6::GlobalAccel) endif() -integrationTest(NAME testDecorationInput SRCS decoration_input_test.cpp) +integrationTest(NAME testDecorationInput SRCS decoration_input_test.cpp LIBS KDecoration2::KDecoration KDecoration2::KDecoration2Private) integrationTest(NAME testInternalWindow SRCS internal_window.cpp) integrationTest(NAME testTouchInput SRCS touch_input_test.cpp) integrationTest(NAME testInputStackingOrder SRCS input_stacking_order.cpp) -integrationTest(NAME testPointerInput SRCS pointer_input.cpp) +integrationTest(NAME testPointerInput SRCS pointer_input.cpp LIBS Libdrm::Libdrm XCB::ICCCM) integrationTest(NAME testPlatformCursor SRCS platformcursor.cpp) -integrationTest(NAME testDontCrashCancelAnimation SRCS dont_crash_cancel_animation.cpp) +integrationTest(NAME testDontCrashCancelAnimation SRCS dont_crash_cancel_animation.cpp LIBS KDecoration2::KDecoration) integrationTest(NAME testTransientPlacement SRCS transient_placement.cpp) integrationTest(NAME testDebugConsole SRCS debug_console_test.cpp) -integrationTest(NAME testDontCrashEmptyDeco SRCS dont_crash_empty_deco.cpp) +integrationTest(NAME testDontCrashEmptyDeco SRCS dont_crash_empty_deco.cpp LIBS KDecoration2::KDecoration) integrationTest(NAME testPlasmaSurface SRCS plasma_surface_test.cpp) -integrationTest(NAME testMaximized SRCS maximize_test.cpp) -integrationTest(NAME testXdgShellWindow SRCS xdgshellwindow_test.cpp) +integrationTest(NAME testMaximized SRCS maximize_test.cpp LIBS KDecoration2::KDecoration KF6::Package) +integrationTest(NAME testXdgShellWindow SRCS xdgshellwindow_test.cpp LIBS KDecoration2::KDecoration) integrationTest(NAME testXwaylandSelections SRCS xwayland_selections_test.cpp) integrationTest(NAME testSceneOpenGL SRCS scene_opengl_test.cpp ) integrationTest(NAME testSceneOpenGLES SRCS scene_opengl_es_test.cpp ) integrationTest(NAME testScreenChanges SRCS screen_changes_test.cpp) -integrationTest(NAME testModiferOnlyShortcut SRCS modifier_only_shortcut_test.cpp) +integrationTest(NAME testModiferOnlyShortcut SRCS modifier_only_shortcut_test.cpp LIBS XKB::XKB) if (KWIN_BUILD_TABBOX) integrationTest(NAME testTabBox SRCS tabbox_test.cpp) endif() integrationTest(NAME testWindowSelection SRCS window_selection_test.cpp) integrationTest(NAME testPointerConstraints SRCS pointer_constraints_test.cpp) -integrationTest(NAME testKeyboardLayout SRCS keyboard_layout_test.cpp) -integrationTest(NAME testKeymapCreationFailure SRCS keymap_creation_failure_test.cpp) +integrationTest(NAME testKeyboardLayout SRCS keyboard_layout_test.cpp LIBS KF6::GlobalAccel XKB::XKB) +integrationTest(NAME testKeymapCreationFailure SRCS keymap_creation_failure_test.cpp LIBS KF6::GlobalAccel) integrationTest(NAME testShowingDesktop SRCS showing_desktop_test.cpp) integrationTest(NAME testDontCrashUseractionsMenu SRCS dont_crash_useractions_menu.cpp) integrationTest(NAME testKWinBindings SRCS kwinbindings_test.cpp) @@ -94,26 +98,26 @@ integrationTest(NAME testVirtualDesktop SRCS virtual_desktop_test.cpp) integrationTest(NAME testXdgShellWindowRules SRCS xdgshellwindow_rules_test.cpp) integrationTest(NAME testIdleInhibition SRCS idle_inhibition_test.cpp) integrationTest(NAME testDontCrashReinitializeCompositor SRCS dont_crash_reinitialize_compositor.cpp BUILTIN_EFFECTS) -integrationTest(NAME testNoGlobalShortcuts SRCS no_global_shortcuts_test.cpp) +integrationTest(NAME testNoGlobalShortcuts SRCS no_global_shortcuts_test.cpp LIBS KF6::GlobalAccel) integrationTest(NAME testPlacement SRCS placement_test.cpp) integrationTest(NAME testActivation SRCS activation_test.cpp) -integrationTest(NAME testInputMethod SRCS inputmethod_test.cpp) +integrationTest(NAME testInputMethod SRCS inputmethod_test.cpp LIBS XKB::XKB) integrationTest(NAME testScreens SRCS screens_test.cpp) -integrationTest(NAME testScreenEdges SRCS screenedges_test.cpp) +integrationTest(NAME testScreenEdges SRCS screenedges_test.cpp LIBS XCB::ICCCM) integrationTest(NAME testOutputChanges SRCS outputchanges_test.cpp) integrationTest(NAME testTiles SRCS tiles_test.cpp) integrationTest(NAME testFractionalScaling SRCS fractional_scaling_test.cpp) integrationTest(NAME testMoveResize SRCS move_resize_window_test.cpp LIBS XCB::ICCCM) -integrationTest(NAME testStruts SRCS struts_test.cpp LIBS XCB::ICCCM) -integrationTest(NAME testShade SRCS shade_test.cpp LIBS XCB::ICCCM) -integrationTest(NAME testDontCrashAuroraeDestroyDeco SRCS dont_crash_aurorae_destroy_deco.cpp LIBS XCB::ICCCM) +integrationTest(NAME testStruts SRCS struts_test.cpp LIBS XCB::ICCCM KDecoration2::KDecoration) +integrationTest(NAME testShade SRCS shade_test.cpp LIBS XCB::ICCCM KDecoration2::KDecoration) +integrationTest(NAME testDontCrashAuroraeDestroyDeco SRCS dont_crash_aurorae_destroy_deco.cpp LIBS XCB::ICCCM KDecoration2::KDecoration) integrationTest(NAME testPlasmaWindow SRCS plasmawindow_test.cpp LIBS XCB::ICCCM) integrationTest(NAME testX11DesktopWindow SRCS desktop_window_x11_test.cpp LIBS XCB::ICCCM) integrationTest(NAME testXwaylandInput SRCS xwayland_input_test.cpp LIBS XCB::ICCCM) integrationTest(NAME testWindowRules SRCS window_rules_test.cpp LIBS XCB::ICCCM) integrationTest(NAME testX11Window SRCS x11_window_test.cpp LIBS XCB::ICCCM) -integrationTest(NAME testQuickTiling SRCS quick_tiling_test.cpp LIBS XCB::ICCCM) -integrationTest(NAME testGlobalShortcuts SRCS globalshortcuts_test.cpp LIBS XCB::ICCCM) +integrationTest(NAME testQuickTiling SRCS quick_tiling_test.cpp LIBS XCB::ICCCM KDecoration2::KDecoration) +integrationTest(NAME testGlobalShortcuts SRCS globalshortcuts_test.cpp LIBS XCB::ICCCM KF6::GlobalAccel XKB::XKB) integrationTest(NAME testStackingOrder SRCS stacking_order_test.cpp LIBS XCB::ICCCM) integrationTest(NAME testDbusInterface SRCS dbus_interface_test.cpp LIBS XCB::ICCCM) integrationTest(NAME testXwaylandServerCrash SRCS xwaylandserver_crash_test.cpp LIBS XCB::ICCCM) @@ -127,7 +131,7 @@ if (TARGET K::KPipeWire) endif() if (KWIN_BUILD_ACTIVITIES) - integrationTest(NAME testActivities SRCS activities_test.cpp LIBS XCB::ICCCM) + integrationTest(NAME testActivities SRCS activities_test.cpp LIBS XCB::ICCCM KF6::Activities) endif() add_subdirectory(scripting) diff --git a/autotests/integration/effects/CMakeLists.txt b/autotests/integration/effects/CMakeLists.txt index 8550841d42..34884708ba 100644 --- a/autotests/integration/effects/CMakeLists.txt +++ b/autotests/integration/effects/CMakeLists.txt @@ -1,9 +1,9 @@ integrationTest(NAME testTranslucency SRCS translucency_test.cpp LIBS XCB::ICCCM BUILTIN_EFFECTS) integrationTest(NAME testSlidingPopups SRCS slidingpopups_test.cpp LIBS XCB::ICCCM BUILTIN_EFFECTS) integrationTest(NAME testShadeWobblyWindows SRCS wobbly_shade_test.cpp LIBS XCB::ICCCM BUILTIN_EFFECTS) -integrationTest(NAME testScriptedEffects SRCS scripted_effects_test.cpp BUILTIN_EFFECTS) +integrationTest(NAME testScriptedEffects SRCS scripted_effects_test.cpp LIBS KF6::GlobalAccel BUILTIN_EFFECTS) integrationTest(NAME testToplevelOpenCloseAnimation SRCS toplevel_open_close_animation_test.cpp BUILTIN_EFFECTS) -integrationTest(NAME testPopupOpenCloseAnimation SRCS popup_open_close_animation_test.cpp BUILTIN_EFFECTS) +integrationTest(NAME testPopupOpenCloseAnimation SRCS popup_open_close_animation_test.cpp LIBS KDecoration2::KDecoration2Private BUILTIN_EFFECTS) integrationTest(NAME testDesktopSwitchingAnimation SRCS desktop_switching_animation_test.cpp BUILTIN_EFFECTS) integrationTest(NAME testMinimizeAnimation SRCS minimize_animation_test.cpp BUILTIN_EFFECTS) integrationTest(NAME testMaximizeAnimation SRCS maximize_animation_test.cpp BUILTIN_EFFECTS) diff --git a/autotests/integration/scripting/CMakeLists.txt b/autotests/integration/scripting/CMakeLists.txt index 58727f7269..0080803a1f 100644 --- a/autotests/integration/scripting/CMakeLists.txt +++ b/autotests/integration/scripting/CMakeLists.txt @@ -1,2 +1,2 @@ integrationTest(NAME testScriptingScreenEdge SRCS screenedge_test.cpp) -integrationTest(NAME testMinimizeAllScript SRCS minimizeall_test.cpp) +integrationTest(NAME testMinimizeAllScript SRCS minimizeall_test.cpp LIBS KF6::Package) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7f0bde7b19..6de84f1096 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,3 +1,9 @@ +ecm_setup_version(${PROJECT_VERSION} + VARIABLE_PREFIX KWIN + PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KWinConfigVersion.cmake" + SOVERSION ${PROJECT_VERSION_MAJOR} +) + # for things that are also used by kwin libraries configure_file(libkwineffects/kwinconfig.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/libkwineffects/kwinconfig.h) configure_file(config-kwin.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kwin.h) @@ -18,6 +24,7 @@ if (KWIN_BUILD_KCMS) endif() add_library(kwin SHARED) +target_include_directories(kwin INTERFACE "$") set_target_properties(kwin PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR} @@ -187,19 +194,25 @@ target_sources(kwin PRIVATE ) target_link_libraries(kwin + PUBLIC + kwineffects kwinglutils Qt::Concurrent Qt::DBus Qt::Quick + Qt::Widgets + Wayland::Server + KF6::I18n + + PRIVATE KF6::ConfigCore KF6::ConfigWidgets KF6::CoreAddons KF6::Crash KF6::GlobalAccel - KF6::I18n KF6::Package KF6::Service KF6::WindowSystem @@ -230,13 +243,12 @@ target_link_libraries(kwin epoxy::epoxy Threads::Threads - Wayland::Server lcms2::lcms2 PkgConfig::libdisplayinfo ) if (KWIN_BUILD_NOTIFICATIONS) - target_link_libraries(kwin KF6::Notifications) + target_link_libraries(kwin PRIVATE KF6::Notifications) endif() kconfig_add_kcfg_files(kwin @@ -280,12 +292,12 @@ add_subdirectory(xwayland) if (KWIN_BUILD_ACTIVITIES) target_sources(kwin PRIVATE activities.cpp) - target_link_libraries(kwin KF6::Activities) + target_link_libraries(kwin PRIVATE KF6::Activities) endif() if (KWIN_BUILD_SCREENLOCKER) target_sources(kwin PRIVATE screenlockerwatcher.cpp) - target_link_libraries(kwin PW::KScreenLocker) + target_link_libraries(kwin PRIVATE PW::KScreenLocker) endif() if (KWIN_BUILD_TABBOX) @@ -298,7 +310,7 @@ if (KWIN_BUILD_TABBOX) tabbox/tabboxhandler.cpp tabbox/x11_filter.cpp ) - target_link_libraries(kwin Qt::GuiPrivate) + target_link_libraries(kwin PRIVATE Qt::GuiPrivate) add_subdirectory(tabbox/switchers) endif() @@ -311,13 +323,14 @@ add_executable(kwin_x11 main_x11.cpp) target_link_libraries(kwin_x11 KWinX11Platform kwin + KF6::GlobalAccel ) target_compile_definitions(kwin_x11 PRIVATE -DTRANSLATION_DOMAIN=\"kwin\" ) kcoreaddons_target_static_plugins(kwin_x11 "kwin/effects/plugins") -install(TARGETS kwin ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP) +install(TARGETS kwin EXPORT KWinTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP) install(TARGETS kwin_x11 ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) add_executable(kwin_wayland main_wayland.cpp) @@ -325,6 +338,7 @@ add_executable(kwin_wayland main_wayland.cpp) target_link_libraries(kwin_wayland kwin KWinXwaylandServerModule + KF6::Crash ) target_compile_definitions(kwin_wayland PRIVATE -DTRANSLATION_DOMAIN=\"kwin\" @@ -373,3 +387,28 @@ install( ${KDE_INSTALL_DBUSINTERFACEDIR} ) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kwin_export.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/kwin COMPONENT Devel) +install(EXPORT KWinTargets DESTINATION "${KDE_INSTALL_CMAKEPACKAGEDIR}/KWin" FILE KWinTargets.cmake NAMESPACE KWin:: ) +install(FILES + core/output.h + core/renderloop.h + DESTINATION ${KDE_INSTALL_INCLUDEDIR}/kwin/core COMPONENT Devel) + +install(FILES + utils/edid.h + DESTINATION ${KDE_INSTALL_INCLUDEDIR}/kwin/utils COMPONENT Devel) + + +set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KWin") + +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/KWinConfig.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/KWinConfigVersion.cmake" + DESTINATION "${CMAKECONFIG_INSTALL_DIR}" + COMPONENT Devel ) + +configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/KWinConfig.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/KWinConfig.cmake" + INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} +) + +install(EXPORT KWinTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KWinTargets.cmake NAMESPACE KWin:: ) diff --git a/src/KWinConfig.cmake.in b/src/KWinConfig.cmake.in new file mode 100644 index 0000000000..8ed1909af0 --- /dev/null +++ b/src/KWinConfig.cmake.in @@ -0,0 +1,12 @@ +@PACKAGE_INIT@ + +include(CMakeFindDependencyMacro) +find_dependency(Qt@QT_MAJOR_VERSION@Core "@QT_MIN_VERSION@") +find_dependency(Qt@QT_MAJOR_VERSION@Gui "@QT_MIN_VERSION@") +find_dependency(Qt@QT_MAJOR_VERSION@Concurrent "@QT_MIN_VERSION@") +find_dependency(Qt@QT_MAJOR_VERSION@Quick "@QT_MIN_VERSION@") +find_dependency(KF6I18n "@KF6_MIN_VERSION@") +find_dependency(KWinEffects) + +@PACKAGE_SETUP_KWIN_AUTOMOC_VARIABLES@ +include("${CMAKE_CURRENT_LIST_DIR}/KWinTargets.cmake") diff --git a/src/backends/drm/CMakeLists.txt b/src/backends/drm/CMakeLists.txt index 035aecda78..3d8c5a9886 100644 --- a/src/backends/drm/CMakeLists.txt +++ b/src/backends/drm/CMakeLists.txt @@ -26,4 +26,4 @@ target_sources(kwin PRIVATE drm_virtual_output.cpp ) -target_link_libraries(kwin Libdrm::Libdrm gbm::gbm PkgConfig::Libxcvt) +target_link_libraries(kwin PRIVATE Libdrm::Libdrm gbm::gbm PkgConfig::Libxcvt) diff --git a/src/backends/libinput/CMakeLists.txt b/src/backends/libinput/CMakeLists.txt index b51579b24f..1a19d1cb23 100644 --- a/src/backends/libinput/CMakeLists.txt +++ b/src/backends/libinput/CMakeLists.txt @@ -22,4 +22,4 @@ target_sources(kwin PRIVATE libinput_logging.cpp libinputbackend.cpp ) -target_link_libraries(kwin Libinput::Libinput) +target_link_libraries(kwin PRIVATE Libinput::Libinput) diff --git a/src/backends/wayland/CMakeLists.txt b/src/backends/wayland/CMakeLists.txt index b83090c755..8c7c2ae2ed 100644 --- a/src/backends/wayland/CMakeLists.txt +++ b/src/backends/wayland/CMakeLists.txt @@ -7,4 +7,4 @@ target_sources(kwin PRIVATE wayland_qpainter_backend.cpp ) -target_link_libraries(kwin KF6::WaylandClient Wayland::Client gbm::gbm) +target_link_libraries(kwin PRIVATE KF6::WaylandClient Wayland::Client gbm::gbm) diff --git a/src/backends/x11/standalone/CMakeLists.txt b/src/backends/x11/standalone/CMakeLists.txt index 53fb8d1464..65b0b8bc96 100644 --- a/src/backends/x11/standalone/CMakeLists.txt +++ b/src/backends/x11/standalone/CMakeLists.txt @@ -18,7 +18,8 @@ set(X11PLATFORM_SOURCES ) add_library(KWinX11Platform OBJECT ${X11PLATFORM_SOURCES}) -target_link_libraries(KWinX11Platform kwin KF6::Crash X11::X11 XCB::XKB PkgConfig::XKBX11) +target_link_libraries(KWinX11Platform kwin KF6::Crash X11::X11 XCB::XKB PkgConfig::XKBX11 Qt::GuiPrivate Libdrm::Libdrm + XCB::COMPOSITE XCB::KEYSYMS XCB::RANDR) if (X11_Xi_FOUND) target_sources(KWinX11Platform PRIVATE x11_standalone_xinputintegration.cpp) target_link_libraries(KWinX11Platform X11::Xi) diff --git a/src/backends/x11/windowed/CMakeLists.txt b/src/backends/x11/windowed/CMakeLists.txt index 722431fb27..2eefbd3f34 100644 --- a/src/backends/x11/windowed/CMakeLists.txt +++ b/src/backends/x11/windowed/CMakeLists.txt @@ -7,11 +7,12 @@ target_sources(kwin PRIVATE ) target_link_libraries(kwin +PRIVATE X11::XCB X11::X11 XCB::DRI3 XCB::PRESENT ) if (X11_Xi_FOUND) - target_link_libraries(kwin X11::Xi) + target_link_libraries(kwin PRIVATE X11::Xi) endif() diff --git a/src/libkwineffects/CMakeLists.txt b/src/libkwineffects/CMakeLists.txt index 68170241a6..ea7d132639 100644 --- a/src/libkwineffects/CMakeLists.txt +++ b/src/libkwineffects/CMakeLists.txt @@ -1,6 +1,3 @@ -########### next target ############### -include(ECMSetupVersion) - ecm_setup_version(${PROJECT_VERSION} VARIABLE_PREFIX KWINEFFECTS VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kwineffects_version.h" diff --git a/src/plugins/buttonrebinds/CMakeLists.txt b/src/plugins/buttonrebinds/CMakeLists.txt index 44d221fbdc..0611e0b651 100644 --- a/src/plugins/buttonrebinds/CMakeLists.txt +++ b/src/plugins/buttonrebinds/CMakeLists.txt @@ -14,5 +14,4 @@ target_sources(buttonsrebind PRIVATE main.cpp buttonrebindsfilter.cpp ) -target_link_libraries(buttonsrebind PRIVATE kwin KF6::WindowSystem) - +target_link_libraries(buttonsrebind PRIVATE kwin KF6::WindowSystem XKB::XKB) diff --git a/src/plugins/nightcolor/CMakeLists.txt b/src/plugins/nightcolor/CMakeLists.txt index 1f68877dd4..f865973605 100644 --- a/src/plugins/nightcolor/CMakeLists.txt +++ b/src/plugins/nightcolor/CMakeLists.txt @@ -25,7 +25,7 @@ if (CMAKE_SYSTEM_NAME MATCHES "Linux") target_sources(nightcolor PRIVATE clockskewnotifierengine_linux.cpp) endif() -target_link_libraries(nightcolor kwin) +target_link_libraries(nightcolor kwin KF6::ConfigGui KF6::GlobalAccel) install(FILES nightcolorsettings.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR}) install(FILES org.kde.kwin.ColorCorrect.xml DESTINATION ${KDE_INSTALL_DBUSINTERFACEDIR}) diff --git a/src/plugins/screencast/CMakeLists.txt b/src/plugins/screencast/CMakeLists.txt index 6c1e9f1677..11586a1b6c 100644 --- a/src/plugins/screencast/CMakeLists.txt +++ b/src/plugins/screencast/CMakeLists.txt @@ -17,4 +17,4 @@ ecm_qt_declare_logging_category(screencast DEFAULT_SEVERITY Warning ) -target_link_libraries(screencast kwin PkgConfig::PipeWire) +target_link_libraries(screencast kwin PkgConfig::PipeWire Libdrm::Libdrm) diff --git a/src/plugins/stickykeys/CMakeLists.txt b/src/plugins/stickykeys/CMakeLists.txt index 15671994d4..bb6422b7a6 100644 --- a/src/plugins/stickykeys/CMakeLists.txt +++ b/src/plugins/stickykeys/CMakeLists.txt @@ -14,5 +14,5 @@ target_sources(StickyKeysPlugin PRIVATE main.cpp stickykeys.cpp ) -target_link_libraries(StickyKeysPlugin PRIVATE kwin KF6::WindowSystem) +target_link_libraries(StickyKeysPlugin PRIVATE kwin KF6::WindowSystem XKB::XKB) diff --git a/src/wayland/CMakeLists.txt b/src/wayland/CMakeLists.txt index 48244b406d..2b97389fbd 100644 --- a/src/wayland/CMakeLists.txt +++ b/src/wayland/CMakeLists.txt @@ -10,7 +10,7 @@ endif() add_library(WaylandProtocols_xml OBJECT) set_property(TARGET WaylandProtocols_xml PROPERTY POSITION_INDEPENDENT_CODE ON) target_link_libraries(WaylandProtocols_xml Qt::Core Wayland::Server) -target_link_libraries(kwin WaylandProtocols_xml) +target_link_libraries(kwin PRIVATE WaylandProtocols_xml) ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml PROTOCOL ${Wayland_DATADIR}/wayland.xml @@ -298,3 +298,71 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") else() message(FATAL_ERROR "Unsupported platform ${CMAKE_SYSTEM_NAME}") endif() + +install(FILES + appmenu_interface.h + blur_interface.h + compositor_interface.h + contenttype_v1_interface.h + contrast_interface.h + datacontroldevice_v1_interface.h + datacontroldevicemanager_v1_interface.h + datacontroloffer_v1_interface.h + datacontrolsource_v1_interface.h + datadevice_interface.h + datadevicemanager_interface.h + dataoffer_interface.h + datasource_interface.h + dpms_interface.h + drmlease_v1_interface.h + fakeinput_interface.h + fractionalscale_v1_interface.h + idle_interface.h + idleinhibit_v1_interface.h + idlenotify_v1_interface.h + inputmethod_v1_interface.h + keyboard_interface.h + keyboard_shortcuts_inhibit_v1_interface.h + keystate_interface.h + layershell_v1_interface.h + lockscreen_overlay_v1_interface.h + output_interface.h + output_order_v1_interface.h + outputdevice_v2_interface.h + outputmanagement_v2_interface.h + plasmashell_interface.h + plasmavirtualdesktop_interface.h + plasmawindowmanagement_interface.h + pointer_interface.h + pointerconstraints_v1_interface.h + pointergestures_v1_interface.h + primaryselectiondevice_v1_interface.h + primaryselectiondevicemanager_v1_interface.h + primaryselectionoffer_v1_interface.h + primaryselectionsource_v1_interface.h + relativepointer_v1_interface.h + screencast_v1_interface.h + screenedge_v1_interface.h + seat_interface.h + server_decoration_interface.h + server_decoration_palette_interface.h + shadow_interface.h + slide_interface.h + subcompositor_interface.h + surface_interface.h + tablet_v2_interface.h + tearingcontrol_v1_interface.h + textinput_v1_interface.h + textinput_v2_interface.h + textinput_v3_interface.h + touch_interface.h + viewporter_interface.h + xdgactivation_v1_interface.h + xdgdecoration_v1_interface.h + xdgforeign_v2_interface.h + xdgoutput_v1_interface.h + xdgshell_interface.h + xwaylandkeyboardgrab_v1_interface.h + xwaylandshell_v1_interface.h + + DESTINATION ${KDE_INSTALL_INCLUDEDIR}/kwin/wayland COMPONENT Devel) diff --git a/src/xwayland/CMakeLists.txt b/src/xwayland/CMakeLists.txt index 62c8c54984..f954f7436d 100644 --- a/src/xwayland/CMakeLists.txt +++ b/src/xwayland/CMakeLists.txt @@ -16,4 +16,7 @@ add_library(KWinXwaylandServerModule OBJECT xwldrophandler.cpp xwaylandlauncher.cpp ) -target_link_libraries(KWinXwaylandServerModule PUBLIC kwin KWinXwaylandCommon) +target_link_libraries(KWinXwaylandServerModule PUBLIC kwin KWinXwaylandCommon XCB::XCB XCB::RANDR XCB::XFIXES XKB::XKB) +if(TARGET KF6::Notifications) + target_link_libraries(KWinXwaylandServerModule PUBLIC KF6::Notifications) +endif()