Warning, /plasma/kwin/autotests/integration/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 add_subdirectory(helper)
0002 
0003 add_library(KWinIntegrationTestFramework STATIC)
0004 
0005 qt6_generate_wayland_protocol_client_sources(KWinIntegrationTestFramework
0006     NO_INCLUDE_CORE_ONLY
0007     FILES
0008         ${WaylandProtocols_DATADIR}/unstable/input-method/input-method-unstable-v1.xml
0009 )
0010 qt6_generate_wayland_protocol_client_sources(KWinIntegrationTestFramework
0011     FILES
0012         ${WaylandProtocols_DATADIR}/unstable/text-input/text-input-unstable-v3.xml
0013         ${CMAKE_SOURCE_DIR}/src/wayland/protocols/wlr-layer-shell-unstable-v1.xml
0014         ${WaylandProtocols_DATADIR}/stable/xdg-shell/xdg-shell.xml
0015         ${WaylandProtocols_DATADIR}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml
0016         ${WaylandProtocols_DATADIR}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml
0017         ${WaylandProtocols_DATADIR}/staging/fractional-scale/fractional-scale-v1.xml
0018         ${WaylandProtocols_DATADIR}/staging/cursor-shape/cursor-shape-v1.xml
0019         ${WaylandProtocols_DATADIR}/staging/security-context/security-context-v1.xml
0020 
0021         ${PLASMA_WAYLAND_PROTOCOLS_DIR}/kde-output-device-v2.xml
0022         ${PLASMA_WAYLAND_PROTOCOLS_DIR}/kde-output-management-v2.xml
0023         ${PLASMA_WAYLAND_PROTOCOLS_DIR}/kde-screen-edge-v1.xml
0024         ${PLASMA_WAYLAND_PROTOCOLS_DIR}/zkde-screencast-unstable-v1.xml
0025         ${PLASMA_WAYLAND_PROTOCOLS_DIR}/fake-input.xml
0026 )
0027 
0028 target_sources(KWinIntegrationTestFramework PRIVATE
0029     generic_scene_opengl_test.cpp
0030     kwin_wayland_test.cpp
0031     test_helpers.cpp
0032 )
0033 target_link_libraries(KWinIntegrationTestFramework
0034     PUBLIC
0035         Qt::Test
0036         Plasma::KWaylandClient
0037         Wayland::Client
0038         Libdrm::Libdrm
0039         kwin
0040 
0041     PRIVATE
0042         # Own libraries
0043         KWinXwaylandServerModule
0044 
0045         # Static plugins
0046         KWinQpaPlugin
0047         KF6WindowSystemKWinPlugin
0048         KF6IdleTimeKWinPlugin
0049 )
0050 if(TARGET KF6GlobalAccelKWinPlugin)
0051     target_link_libraries(KWinIntegrationTestFramework PUBLIC KF6GlobalAccelKWinPlugin)
0052 endif()
0053 
0054 if(TARGET PW::KScreenLocker)
0055     target_link_libraries(KWinIntegrationTestFramework PUBLIC PW::KScreenLocker)
0056 endif()
0057 
0058 function(integrationTest)
0059     set(optionArgs BUILTIN_EFFECTS)
0060     set(oneValueArgs NAME)
0061     set(multiValueArgs SRCS LIBS)
0062     cmake_parse_arguments(ARGS "${optionArgs}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
0063     add_executable(${ARGS_NAME} ${ARGS_SRCS})
0064     target_link_libraries(${ARGS_NAME} KWinIntegrationTestFramework Qt::Test ${ARGS_LIBS})
0065     if(${ARGS_BUILTIN_EFFECTS})
0066         kcoreaddons_target_static_plugins(${ARGS_NAME} NAMESPACE "kwin/effects/plugins")
0067     endif()
0068     add_test(NAME kwin-${ARGS_NAME} COMMAND dbus-run-session ${CMAKE_BINARY_DIR}/bin/${ARGS_NAME})
0069 endfunction()
0070 
0071 integrationTest(NAME testDontCrashGlxgears SRCS dont_crash_glxgears.cpp LIBS KF6::I18n KDecoration2::KDecoration)
0072 if (KWIN_BUILD_SCREENLOCKER)
0073     integrationTest(NAME testLockScreen SRCS lockscreen.cpp LIBS KF6::GlobalAccel)
0074 endif()
0075 integrationTest(NAME testBounceKeys SRCS bounce_keys_test.cpp)
0076 integrationTest(NAME testDecorationInput SRCS decoration_input_test.cpp LIBS KDecoration2::KDecoration KDecoration2::KDecoration2Private)
0077 integrationTest(NAME testInternalWindow SRCS internal_window.cpp)
0078 integrationTest(NAME testTouchInput SRCS touch_input_test.cpp)
0079 integrationTest(NAME testInputStackingOrder SRCS input_stacking_order.cpp)
0080 integrationTest(NAME testPointerInput SRCS pointer_input.cpp LIBS Libdrm::Libdrm XCB::ICCCM)
0081 integrationTest(NAME testPlatformCursor SRCS platformcursor.cpp)
0082 integrationTest(NAME testDontCrashCancelAnimation SRCS dont_crash_cancel_animation.cpp LIBS KDecoration2::KDecoration)
0083 integrationTest(NAME testTransientPlacement SRCS transient_placement.cpp)
0084 integrationTest(NAME testDebugConsole SRCS debug_console_test.cpp)
0085 integrationTest(NAME testDontCrashEmptyDeco SRCS dont_crash_empty_deco.cpp LIBS KDecoration2::KDecoration)
0086 integrationTest(NAME testPlasmaSurface SRCS plasma_surface_test.cpp)
0087 integrationTest(NAME testMaximized SRCS maximize_test.cpp LIBS KDecoration2::KDecoration KF6::Package)
0088 integrationTest(NAME testXdgShellWindow SRCS xdgshellwindow_test.cpp LIBS KDecoration2::KDecoration)
0089 integrationTest(NAME testXwaylandSelections SRCS xwayland_selections_test.cpp)
0090 integrationTest(NAME testSceneOpenGL SRCS scene_opengl_test.cpp )
0091 integrationTest(NAME testSceneOpenGLES SRCS scene_opengl_es_test.cpp )
0092 integrationTest(NAME testScreenChanges SRCS screen_changes_test.cpp)
0093 integrationTest(NAME testModiferOnlyShortcut SRCS modifier_only_shortcut_test.cpp LIBS XKB::XKB)
0094 if (KWIN_BUILD_TABBOX)
0095     integrationTest(NAME testTabBox SRCS tabbox_test.cpp)
0096 endif()
0097 integrationTest(NAME testWindowSelection SRCS window_selection_test.cpp)
0098 integrationTest(NAME testPointerConstraints SRCS pointer_constraints_test.cpp)
0099 integrationTest(NAME testKeyboardLayout SRCS keyboard_layout_test.cpp LIBS KF6::GlobalAccel XKB::XKB)
0100 integrationTest(NAME testKeymapCreationFailure SRCS keymap_creation_failure_test.cpp LIBS KF6::GlobalAccel)
0101 integrationTest(NAME testShowingDesktop SRCS showing_desktop_test.cpp)
0102 integrationTest(NAME testDontCrashUseractionsMenu SRCS dont_crash_useractions_menu.cpp LIBS KF6::I18n)
0103 integrationTest(NAME testLayerShellV1Window SRCS layershellv1window_test.cpp)
0104 integrationTest(NAME testVirtualDesktop SRCS virtual_desktop_test.cpp)
0105 integrationTest(NAME testXdgShellWindowRules SRCS xdgshellwindow_rules_test.cpp)
0106 integrationTest(NAME testIdleInhibition SRCS idle_inhibition_test.cpp)
0107 integrationTest(NAME testDontCrashReinitializeCompositor SRCS dont_crash_reinitialize_compositor.cpp BUILTIN_EFFECTS)
0108 integrationTest(NAME testNoGlobalShortcuts SRCS no_global_shortcuts_test.cpp LIBS KF6::GlobalAccel)
0109 integrationTest(NAME testPlacement SRCS placement_test.cpp)
0110 integrationTest(NAME testActivation SRCS activation_test.cpp)
0111 integrationTest(NAME testInputMethod SRCS inputmethod_test.cpp LIBS XKB::XKB)
0112 integrationTest(NAME testScreens SRCS screens_test.cpp)
0113 integrationTest(NAME testScreenEdges SRCS screenedges_test.cpp LIBS XCB::ICCCM)
0114 integrationTest(NAME testOutputChanges SRCS outputchanges_test.cpp)
0115 integrationTest(NAME testTiles SRCS tiles_test.cpp)
0116 integrationTest(NAME testFractionalScaling SRCS fractional_scaling_test.cpp)
0117 integrationTest(NAME testMoveResize SRCS move_resize_window_test.cpp LIBS XCB::ICCCM)
0118 integrationTest(NAME testStruts SRCS struts_test.cpp LIBS XCB::ICCCM KDecoration2::KDecoration)
0119 integrationTest(NAME testShade SRCS shade_test.cpp LIBS XCB::ICCCM KDecoration2::KDecoration)
0120 integrationTest(NAME testDontCrashAuroraeDestroyDeco SRCS dont_crash_aurorae_destroy_deco.cpp LIBS XCB::ICCCM KDecoration2::KDecoration)
0121 integrationTest(NAME testPlasmaWindow SRCS plasmawindow_test.cpp LIBS XCB::ICCCM)
0122 integrationTest(NAME testX11DesktopWindow SRCS desktop_window_x11_test.cpp LIBS XCB::ICCCM)
0123 integrationTest(NAME testXwaylandInput SRCS xwayland_input_test.cpp LIBS XCB::ICCCM)
0124 integrationTest(NAME testWindowRules SRCS window_rules_test.cpp LIBS XCB::ICCCM)
0125 integrationTest(NAME testX11Window SRCS x11_window_test.cpp LIBS XCB::ICCCM)
0126 integrationTest(NAME testQuickTiling SRCS quick_tiling_test.cpp LIBS XCB::ICCCM KDecoration2::KDecoration)
0127 integrationTest(NAME testStackingOrder SRCS stacking_order_test.cpp LIBS XCB::ICCCM)
0128 integrationTest(NAME testDbusInterface SRCS dbus_interface_test.cpp LIBS XCB::ICCCM)
0129 integrationTest(NAME testXwaylandServerCrash SRCS xwaylandserver_crash_test.cpp LIBS XCB::ICCCM)
0130 integrationTest(NAME testXwaylandServerRestart SRCS xwaylandserver_restart_test.cpp LIBS XCB::ICCCM)
0131 integrationTest(NAME testFakeInput SRCS fakeinput_test.cpp)
0132 integrationTest(NAME testSecurityContext SRCS security_context_test.cpp)
0133 integrationTest(NAME testStickyKeys SRCS sticky_keys_test.cpp)
0134 integrationTest(NAME testXinerama SRCS xinerama_test.cpp)
0135 
0136 qt_add_dbus_interfaces(DBUS_SRCS ${CMAKE_BINARY_DIR}/src/org.kde.kwin.VirtualKeyboard.xml)
0137 integrationTest(NAME testVirtualKeyboardDBus SRCS test_virtualkeyboard_dbus.cpp ${DBUS_SRCS})
0138 
0139 if (KWIN_BUILD_GLOBALSHORTCUTS)
0140 integrationTest(NAME testGlobalShortcuts SRCS globalshortcuts_test.cpp LIBS XCB::ICCCM KF6::GlobalAccel KF6::I18n XKB::XKB)
0141 integrationTest(NAME testKWinBindings SRCS kwinbindings_test.cpp LIBS KF6::I18n)
0142 endif()
0143 if (TARGET K::KPipeWire)
0144     integrationTest(NAME testScreencasting SRCS screencasting_test.cpp LIBS K::KPipeWire)
0145 endif()
0146 
0147 if (KWIN_BUILD_ACTIVITIES)
0148     integrationTest(NAME testActivities SRCS activities_test.cpp LIBS XCB::ICCCM Plasma::Activities)
0149 endif()
0150 
0151 add_subdirectory(scripting)
0152 add_subdirectory(effects)
0153 add_subdirectory(fakes)