kwin/src/wayland/autotests/client/CMakeLists.txt
Martin Gräßlin 990e88ac1a Implement wl_text_input and zwp_text_input_v2 interfaces
Summary:
This change introduces support for text input. Text input allows to
compose text on the server (e.g. through a virtual keyboard) and sent
the composed text to the client.

There are multiple interfaces for text input. QtWayland 5.6 uses
wl_text_input, QtWayland 5.7 uses zwp_text_input_v2.

wl_text_input is from pre Wayland-Protocols times and considered as
UnstableV0 in this implementation. The other interface is UnstableV2.
Unfortunately the V2 variant is not yet part of Wayland-Protocols, but
used in Qt.

The implementation hides the different interfaces as good as possible.
The general idea is the same, the differences are rather minor.

This means changes to how interfaces are wrapped normally. On client
side in the Registry a manager is factored which represent either of
the two interfaces. Similar on the server side Display's factory method
takes an argument to decide which interface should be factored. This
way a user of the library can expose both interfaces and thus be
compatible with Qt 5.6 and Qt 5.7 onwards.

Reviewers: #plasma

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D1631
2016-05-25 15:10:42 +02:00

310 lines
13 KiB
CMake

########################################################
# Test WaylandConnectionThread
########################################################
set( testWaylandConnectionThread_SRCS
test_wayland_connection_thread.cpp
)
add_executable(testWaylandConnectionThread ${testWaylandConnectionThread_SRCS})
target_link_libraries( testWaylandConnectionThread Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server)
add_test(kwayland-testWaylandConnectionThread testWaylandConnectionThread)
ecm_mark_as_test(testWaylandConnectionThread)
########################################################
# Test WaylandRegistry
########################################################
set( testWaylandRegistry_SRCS
test_wayland_registry.cpp
)
add_executable(testWaylandRegistry ${testWaylandRegistry_SRCS})
target_link_libraries( testWaylandRegistry Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server)
add_test(kwayland-testWaylandRegistry testWaylandRegistry)
ecm_mark_as_test(testWaylandRegistry)
########################################################
# Test WaylandFullscreenShell
########################################################
if(Wayland_VERSION VERSION_GREATER "1.4.0")
set( testWaylandFullscreenShell_SRCS
test_wayland_fullscreen_shell.cpp
)
add_executable(testWaylandFullscreenShell ${testWaylandFullscreenShell_SRCS})
target_link_libraries( testWaylandFullscreenShell Qt5::Test KF5::WaylandClient Wayland::Client)
add_test(kwayland-testWaylandFullscreenShell testWaylandFullscreenShell)
ecm_mark_as_test(testWaylandFullscreenShell)
endif()
########################################################
# Test WaylandOutput
########################################################
set( testWaylandOutput_SRCS
test_wayland_output.cpp
)
add_executable(testWaylandOutput ${testWaylandOutput_SRCS})
target_link_libraries( testWaylandOutput Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server)
add_test(kwayland-testWaylandOutput testWaylandOutput)
ecm_mark_as_test(testWaylandOutput)
########################################################
# Test WaylandShell
########################################################
set( testWaylandShell_SRCS
test_wayland_shell.cpp
)
add_executable(testWaylandShell ${testWaylandShell_SRCS})
target_link_libraries( testWaylandShell Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server)
add_test(kwayland-testWaylandShell testWaylandShell)
ecm_mark_as_test(testWaylandShell)
########################################################
# Test WaylandSurface
########################################################
set( testWaylandSurface_SRCS
test_wayland_surface.cpp
)
add_executable(testWaylandSurface ${testWaylandSurface_SRCS})
target_link_libraries( testWaylandSurface Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server)
add_test(kwayland-testWaylandSurface testWaylandSurface)
ecm_mark_as_test(testWaylandSurface)
########################################################
# Test WaylandSeat
########################################################
set( testWaylandSeat_SRCS
test_wayland_seat.cpp
)
add_executable(testWaylandSeat ${testWaylandSeat_SRCS})
target_link_libraries( testWaylandSeat Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server)
add_test(kwayland-testWaylandSeat testWaylandSeat)
ecm_mark_as_test(testWaylandSeat)
########################################################
# Test ShmPool
########################################################
set( testShmPool_SRCS
test_shm_pool.cpp
)
add_executable(testShmPool ${testShmPool_SRCS})
target_link_libraries( testShmPool Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer)
add_test(kwayland-testShmPool testShmPool)
ecm_mark_as_test(testShmPool)
########################################################
# Test KWin OutputManagement
########################################################
set( test_wayland_outputmanagement_SRCS
test_wayland_outputmanagement.cpp
)
add_executable(testWaylandOutputManagement ${test_wayland_outputmanagement_SRCS})
target_link_libraries( testWaylandOutputManagement Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
add_test(kwayland-testWaylandOutputManagement testWaylandOutputManagement)
ecm_mark_as_test(testWaylandOutputManagement)
########################################################
# Test KWin OutputDevice
########################################################
set( test_wayland_outputdevice_SRCS
test_wayland_outputdevice.cpp
)
add_executable(testWaylandOutputDevice ${test_wayland_outputdevice_SRCS})
target_link_libraries( testWaylandOutputDevice Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
add_test(kwayland-testWaylandOutputDevice testWaylandOutputDevice)
ecm_mark_as_test(testWaylandOutputDevice)
########################################################
# Test Compositor
########################################################
set( testCompositor_SRCS
test_compositor.cpp
)
add_executable(testCompositor ${testCompositor_SRCS})
target_link_libraries( testCompositor Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer)
add_test(kwayland-testCompositor testCompositor)
ecm_mark_as_test(testCompositor)
########################################################
# Test SubCompositor
########################################################
set( testSubCompositor_SRCS
test_wayland_subcompositor.cpp
)
add_executable(testSubCompositor ${testSubCompositor_SRCS})
target_link_libraries( testSubCompositor Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer)
add_test(kwayland-testSubCompositor testSubCompositor)
ecm_mark_as_test(testSubCompositor)
########################################################
# Test SubSurface
########################################################
set( testSubSurface_SRCS
test_wayland_subsurface.cpp
)
add_executable(testSubSurface ${testSubSurface_SRCS})
target_link_libraries( testSubSurface Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
add_test(kwayland-testSubSurface testSubSurface)
ecm_mark_as_test(testSubSurface)
########################################################
# Test Region
########################################################
set( testRegion_SRCS
test_wayland_region.cpp
)
add_executable(testRegion ${testRegion_SRCS})
target_link_libraries( testRegion Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer)
add_test(kwayland-testRegion testRegion)
ecm_mark_as_test(testRegion)
########################################################
# Test Blur
########################################################
set( testBlur_SRCS
test_wayland_blur.cpp
)
add_executable(testBlur ${testBlur_SRCS})
target_link_libraries( testBlur Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer)
add_test(kwayland-testBlur testBlur)
ecm_mark_as_test(testBlur)
########################################################
# Test Contrast
########################################################
set( testContrast_SRCS
test_wayland_contrast.cpp
)
add_executable(testContrast ${testContrast_SRCS})
target_link_libraries( testContrast Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
add_test(kwayland-testContrast testContrast)
ecm_mark_as_test(testContrast)
########################################################
# Test Slide
########################################################
set( testSlide_SRCS
test_wayland_slide.cpp
)
add_executable(testSlide ${testSlide_SRCS})
target_link_libraries( testSlide Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
add_test(kwayland-testSlide testSlide)
ecm_mark_as_test(testSlide)
########################################################
# Test Window Management
########################################################
set( testWindowmanagement_SRCS
test_wayland_windowmanagement.cpp
)
add_executable(testWindowmanagement ${testWindowmanagement_SRCS})
target_link_libraries( testWindowmanagement Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
add_test(kwayland-testWindowmanagement testWindowmanagement)
ecm_mark_as_test(testWindowmanagement)
########################################################
# Test DataSource
########################################################
set( testDataSource_SRCS
test_datasource.cpp
)
add_executable(testDataSource ${testDataSource_SRCS})
target_link_libraries( testDataSource Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
add_test(kwayland-testDataSource testDataSource)
ecm_mark_as_test(testDataSource)
########################################################
# Test DataDevice
########################################################
set( testDataDevice_SRCS
test_datadevice.cpp
)
add_executable(testDataDevice ${testDataDevice_SRCS})
target_link_libraries( testDataDevice Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
add_test(kwayland-testDataDevice testDataDevice)
ecm_mark_as_test(testDataDevice)
########################################################
# Test ServerSideDecoration
########################################################
set( testServerSideDecoration_SRCS
test_server_side_decoration.cpp
)
add_executable(testServerSideDecoration ${testServerSideDecoration_SRCS})
target_link_libraries( testServerSideDecoration Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
add_test(kwayland-testServerSideDecoration testServerSideDecoration)
ecm_mark_as_test(testServerSideDecoration)
########################################################
# Test Drag'N'Drop
########################################################
set( testDragAndDrop_SRCS
test_drag_drop.cpp
)
add_executable(testDragAndDrop ${testDragAndDrop_SRCS})
target_link_libraries( testDragAndDrop Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
add_test(kwayland-testDragAndDrop testDragAndDrop)
ecm_mark_as_test(testDragAndDrop)
########################################################
# Test PlasmaShell
########################################################
set( testPlasmaShell_SRCS
test_plasmashell.cpp
)
add_executable(testPlasmaShell ${testPlasmaShell_SRCS})
target_link_libraries( testPlasmaShell Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
add_test(kwayland-testPlasmaShell testPlasmaShell)
ecm_mark_as_test(testPlasmaShell)
########################################################
# Test Idle
########################################################
set( testIdle_SRCS
test_idle.cpp
)
add_executable(testIdle ${testIdle_SRCS})
target_link_libraries( testIdle Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer)
add_test(kwayland-testIdle testIdle)
ecm_mark_as_test(testIdle)
########################################################
# Test Shadow
########################################################
set( testShadow_SRCS
test_shadow.cpp
)
add_executable(testShadow ${testShadow_SRCS})
target_link_libraries( testShadow Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer)
add_test(kwayland-testShadow testShadow)
ecm_mark_as_test(testShadow)
########################################################
# Test FakeInput
########################################################
set( testFakeInput_SRCS
test_fake_input.cpp
)
add_executable(testFakeInput ${testFakeInput_SRCS})
target_link_libraries( testFakeInput Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer)
add_test(kwayland-testFakeInput testFakeInput)
ecm_mark_as_test(testFakeInput)
########################################################
# Test PlasmaWindowModel
########################################################
set( testPlasmaWindowModel_SRCS
test_plasma_window_model.cpp
)
add_executable(testPlasmaWindowModel ${testPlasmaWindowModel_SRCS})
target_link_libraries( testPlasmaWindowModel Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer)
add_test(kwayland-testPlasmaWindowModel testPlasmaWindowModel)
ecm_mark_as_test(testPlasmaWindowModel)
########################################################
# Test TextInput
########################################################
set( testTextInput_SRCS
test_text_input.cpp
)
add_executable(testTextInput ${testTextInput_SRCS})
target_link_libraries( testTextInput Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer)
add_test(kwayland-testTextInput testTextInput)
ecm_mark_as_test(testTextInput)