d7b1661e08
libkwineffects was introduced when kwin used to be an executable. It provided an api to implement effects and shielded from the technical quirks in kwin. Over the time, kwin internals had been split and abstractions were refactored so they can be consumed in scripts or plugins. Besides that, new ways to implement extensions have been introduced, which use kwin's internal abstractions. On the other hand, effects continue using libkwineffects specific apis. This has a few issues: qtquick effects use both apis and it bites us, duplicating same apis. The best solution so far is to merge libkwineffects with libkwin, and replace libkwineffects abstractions with libkwin abstractions, e.g. EffectScreen -> Output, etc. This change takes care of adjusting libs. Obviously, the main disadvantage of doing so is that binary effects have to be recompiled every time new libkwin is released. But it's already the case with libkwineffects too.
233 lines
6.5 KiB
CMake
233 lines
6.5 KiB
CMake
add_definitions(-DKWIN_UNIT_TEST)
|
|
remove_definitions(-DQT_USE_QSTRINGBUILDER)
|
|
add_subdirectory(libkwineffects)
|
|
add_subdirectory(integration)
|
|
add_subdirectory(libinput)
|
|
add_subdirectory(wayland)
|
|
# drm autotests are broken on FreeBSD for yet unknown reasons
|
|
# As the test isn't doing anything platform specific, only run it on Linux
|
|
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
add_subdirectory(drm)
|
|
endif()
|
|
|
|
########################################################
|
|
# Test WindowPaintData
|
|
########################################################
|
|
set(testWindowPaintData_SRCS test_window_paint_data.cpp)
|
|
add_executable(testWindowPaintData ${testWindowPaintData_SRCS})
|
|
target_link_libraries(testWindowPaintData kwin Qt::Widgets Qt::Test )
|
|
add_test(NAME kwin-testWindowPaintData COMMAND testWindowPaintData)
|
|
ecm_mark_as_test(testWindowPaintData)
|
|
|
|
########################################################
|
|
# Test VirtualDesktopManager
|
|
########################################################
|
|
set(testVirtualDesktops_SRCS
|
|
../src/virtualdesktops.cpp
|
|
test_virtual_desktops.cpp
|
|
)
|
|
add_executable(testVirtualDesktops ${testVirtualDesktops_SRCS})
|
|
|
|
target_link_libraries(testVirtualDesktops
|
|
kwin
|
|
|
|
Qt::Test
|
|
Qt::Widgets
|
|
|
|
KF6::ConfigCore
|
|
KF6::GlobalAccel
|
|
KF6::I18n
|
|
KF6::WindowSystem
|
|
)
|
|
add_test(NAME kwin-testVirtualDesktops COMMAND testVirtualDesktops)
|
|
ecm_mark_as_test(testVirtualDesktops)
|
|
|
|
########################################################
|
|
# Test ClientMachine
|
|
########################################################
|
|
set(testClientMachine_SRCS
|
|
../src/client_machine.cpp
|
|
test_client_machine.cpp
|
|
xcb_scaling_mock.cpp
|
|
)
|
|
add_executable(testClientMachine ${testClientMachine_SRCS})
|
|
set_target_properties(testClientMachine PROPERTIES COMPILE_DEFINITIONS "NO_NONE_WINDOW")
|
|
|
|
target_link_libraries(testClientMachine
|
|
Qt::Concurrent
|
|
Qt::GuiPrivate
|
|
Qt::Test
|
|
Qt::Widgets
|
|
|
|
KF6::ConfigCore
|
|
KF6::WindowSystem
|
|
|
|
XCB::XCB
|
|
XCB::XFIXES
|
|
|
|
${X11_X11_LIB} # to make jenkins happy
|
|
)
|
|
add_test(NAME kwin-testClientMachine COMMAND testClientMachine)
|
|
ecm_mark_as_test(testClientMachine)
|
|
|
|
########################################################
|
|
# Test XcbWrapper
|
|
########################################################
|
|
add_executable(testXcbWrapper test_xcb_wrapper.cpp xcb_scaling_mock.cpp)
|
|
|
|
target_link_libraries(testXcbWrapper
|
|
Qt::GuiPrivate
|
|
Qt::Test
|
|
Qt::Widgets
|
|
|
|
KF6::ConfigCore
|
|
KF6::WindowSystem
|
|
|
|
XCB::XCB
|
|
)
|
|
add_test(NAME kwin-testXcbWrapper COMMAND testXcbWrapper)
|
|
ecm_mark_as_test(testXcbWrapper)
|
|
|
|
add_executable(testXcbSizeHints test_xcb_size_hints.cpp xcb_scaling_mock.cpp)
|
|
set_target_properties(testXcbSizeHints PROPERTIES COMPILE_DEFINITIONS "NO_NONE_WINDOW")
|
|
target_link_libraries(testXcbSizeHints
|
|
Qt::GuiPrivate
|
|
Qt::Test
|
|
Qt::Widgets
|
|
|
|
KF6::ConfigCore
|
|
KF6::WindowSystem
|
|
|
|
XCB::ICCCM
|
|
XCB::XCB
|
|
)
|
|
add_test(NAME kwin-testXcbSizeHints COMMAND testXcbSizeHints)
|
|
ecm_mark_as_test(testXcbSizeHints)
|
|
|
|
########################################################
|
|
# Test XcbWindow
|
|
########################################################
|
|
add_executable(testXcbWindow test_xcb_window.cpp xcb_scaling_mock.cpp)
|
|
|
|
target_link_libraries(testXcbWindow
|
|
Qt::GuiPrivate
|
|
Qt::Test
|
|
Qt::Widgets
|
|
|
|
KF6::ConfigCore
|
|
KF6::WindowSystem
|
|
|
|
XCB::XCB
|
|
)
|
|
add_test(NAME kwin-testXcbWindow COMMAND testXcbWindow)
|
|
ecm_mark_as_test(testXcbWindow)
|
|
|
|
########################################################
|
|
# Test OnScreenNotification
|
|
########################################################
|
|
set(testOnScreenNotification_SRCS
|
|
../src/input_event_spy.cpp
|
|
../src/onscreennotification.cpp
|
|
onscreennotificationtest.cpp
|
|
)
|
|
add_executable(testOnScreenNotification ${testOnScreenNotification_SRCS})
|
|
|
|
target_link_libraries(testOnScreenNotification
|
|
Qt::DBus
|
|
Qt::Quick
|
|
Qt::Test
|
|
Qt::Widgets # QAction include
|
|
|
|
KF6::ConfigCore
|
|
)
|
|
|
|
add_test(NAME kwin-testOnScreenNotification COMMAND testOnScreenNotification)
|
|
ecm_mark_as_test(testOnScreenNotification)
|
|
|
|
########################################################
|
|
# Test Gestures
|
|
########################################################
|
|
set(testGestures_SRCS
|
|
../src/gestures.cpp
|
|
test_gestures.cpp
|
|
)
|
|
add_executable(testGestures ${testGestures_SRCS})
|
|
|
|
target_link_libraries(testGestures
|
|
Qt::Test
|
|
Qt::Widgets
|
|
)
|
|
|
|
add_test(NAME kwin-testGestures COMMAND testGestures)
|
|
ecm_mark_as_test(testGestures)
|
|
|
|
########################################################
|
|
# Test X11 TimestampUpdate
|
|
########################################################
|
|
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)
|
|
ecm_mark_as_test(testX11TimestampUpdate)
|
|
|
|
set(testOpenGLContextAttributeBuilder_SRCS
|
|
../src/utils/abstract_opengl_context_attribute_builder.cpp
|
|
../src/utils/egl_context_attribute_builder.cpp
|
|
opengl_context_attribute_builder_test.cpp
|
|
)
|
|
|
|
if (HAVE_GLX)
|
|
set(testOpenGLContextAttributeBuilder_SRCS ${testOpenGLContextAttributeBuilder_SRCS} ../src/backends/x11/standalone/x11_standalone_glx_context_attribute_builder.cpp)
|
|
endif()
|
|
add_executable(testOpenGLContextAttributeBuilder ${testOpenGLContextAttributeBuilder_SRCS})
|
|
target_link_libraries(testOpenGLContextAttributeBuilder epoxy::epoxy Qt::Test)
|
|
add_test(NAME kwin-testOpenGLContextAttributeBuilder COMMAND testOpenGLContextAttributeBuilder)
|
|
ecm_mark_as_test(testOpenGLContextAttributeBuilder)
|
|
|
|
set(testXkb_SRCS
|
|
../src/xkb.cpp
|
|
test_xkb.cpp
|
|
)
|
|
qt_add_dbus_interface(testXkb_SRCS ${CMAKE_SOURCE_DIR}/src/org.freedesktop.DBus.Properties.xml dbusproperties_interface)
|
|
add_executable(testXkb ${testXkb_SRCS})
|
|
target_link_libraries(testXkb
|
|
kwin
|
|
|
|
Qt::Gui
|
|
Qt::GuiPrivate
|
|
Qt::Test
|
|
Qt::Widgets
|
|
|
|
KF6::ConfigCore
|
|
KF6::WindowSystem
|
|
|
|
XKB::XKB
|
|
)
|
|
add_test(NAME kwin-testXkb COMMAND testXkb)
|
|
ecm_mark_as_test(testXkb)
|
|
|
|
########################################################
|
|
# Test FTrace
|
|
########################################################
|
|
add_executable(testFtrace test_ftrace.cpp)
|
|
target_link_libraries(testFtrace
|
|
Qt::Test
|
|
kwin
|
|
)
|
|
add_test(NAME kwin-testFtrace COMMAND testFtrace)
|
|
ecm_mark_as_test(testFtrace)
|
|
|
|
########################################################
|
|
# Test KWin Utils
|
|
########################################################
|
|
add_executable(testUtils test_utils.cpp)
|
|
target_link_libraries(testUtils
|
|
Qt::Test
|
|
kwin
|
|
)
|
|
add_test(NAME kwin-testUtils COMMAND testUtils)
|
|
ecm_mark_as_test(testUtils)
|