Simplify test cmake

In each test we were recompiling the shared mock compositor. This led to
a lot of difficult to maintain boiler plate as well as slowing down the
build.

This patch turns the shared component into an object library

Change-Id: I2460d3fec312a348fe633ac271f994dd36d564c4
Reviewed-by: David Edmundson <davidedmundson@kde.org>
This commit is contained in:
David Edmundson 2021-05-05 06:54:19 +01:00
parent 3e502ff8d9
commit f3fcdc6bfd
14 changed files with 52 additions and 267 deletions

View File

@ -1,5 +1,7 @@
# Generated from client.pro.
add_subdirectory(shared)
add_subdirectory(client)
add_subdirectory(datadevicev1)
add_subdirectory(fullscreenshellv1)

View File

@ -6,28 +6,7 @@
qt_internal_add_test(tst_datadevicev1
SOURCES
../shared/corecompositor.cpp ../shared/corecompositor.h
../shared/coreprotocol.cpp ../shared/coreprotocol.h
../shared/datadevice.cpp ../shared/datadevice.h
../shared/mockcompositor.cpp ../shared/mockcompositor.h
../shared/textinput.cpp ../shared/textinput.h
../shared/xdgoutputv1.cpp ../shared/xdgoutputv1.h
../shared/xdgshell.cpp ../shared/xdgshell.h
tst_datadevicev1.cpp
INCLUDE_DIRECTORIES
../shared
PUBLIC_LIBRARIES
Qt::Gui
Qt::OpenGL
Qt::WaylandClientPrivate
Wayland::Server
Threads::Threads # special case
)
qt6_generate_wayland_protocol_server_sources(tst_datadevicev1
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-output-unstable-v1.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml
SharedClientTest
)

View File

@ -6,28 +6,7 @@
qt_internal_add_test(tst_inputcontext
SOURCES
../shared/corecompositor.cpp ../shared/corecompositor.h
../shared/coreprotocol.cpp ../shared/coreprotocol.h
../shared/datadevice.cpp ../shared/datadevice.h
../shared/mockcompositor.cpp ../shared/mockcompositor.h
../shared/textinput.cpp ../shared/textinput.h
../shared/xdgoutputv1.cpp ../shared/xdgoutputv1.h
../shared/xdgshell.cpp ../shared/xdgshell.h
tst_inputcontext.cpp
INCLUDE_DIRECTORIES
../shared
PUBLIC_LIBRARIES
Qt::Gui
Qt::OpenGL
Qt::WaylandClientPrivate
Wayland::Server
Threads::Threads # special case
)
qt6_generate_wayland_protocol_server_sources(tst_inputcontext
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-output-unstable-v1.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml
SharedClientTest
)

View File

@ -6,28 +6,7 @@
qt_internal_add_test(tst_nooutput
SOURCES
../shared/corecompositor.cpp ../shared/corecompositor.h
../shared/coreprotocol.cpp ../shared/coreprotocol.h
../shared/datadevice.cpp ../shared/datadevice.h
../shared/mockcompositor.cpp ../shared/mockcompositor.h
../shared/textinput.cpp ../shared/textinput.h
../shared/xdgoutputv1.cpp ../shared/xdgoutputv1.h
../shared/xdgshell.cpp ../shared/xdgshell.h
tst_nooutput.cpp
INCLUDE_DIRECTORIES
../shared
PUBLIC_LIBRARIES
Qt::Gui
Qt::OpenGL
Qt::WaylandClientPrivate
Wayland::Server
Threads::Threads # special case
)
qt6_generate_wayland_protocol_server_sources(tst_nooutput
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-output-unstable-v1.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml
SharedClientTest
)

View File

@ -6,28 +6,7 @@
qt_internal_add_test(tst_output
SOURCES
../shared/corecompositor.cpp ../shared/corecompositor.h
../shared/coreprotocol.cpp ../shared/coreprotocol.h
../shared/datadevice.cpp ../shared/datadevice.h
../shared/mockcompositor.cpp ../shared/mockcompositor.h
../shared/textinput.cpp ../shared/textinput.h
../shared/xdgoutputv1.cpp ../shared/xdgoutputv1.h
../shared/xdgshell.cpp ../shared/xdgshell.h
tst_output.cpp
INCLUDE_DIRECTORIES
../shared
PUBLIC_LIBRARIES
Qt::Gui
Qt::OpenGL
Qt::WaylandClientPrivate
Wayland::Server
Threads::Threads # special case
)
qt6_generate_wayland_protocol_server_sources(tst_output
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-output-unstable-v1.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml
SharedClientTest
)

View File

@ -6,29 +6,7 @@
qt_internal_add_test(tst_primaryselectionv1
SOURCES
../shared/corecompositor.cpp ../shared/corecompositor.h
../shared/coreprotocol.cpp ../shared/coreprotocol.h
../shared/datadevice.cpp ../shared/datadevice.h
../shared/mockcompositor.cpp ../shared/mockcompositor.h
../shared/textinput.cpp ../shared/textinput.h
../shared/xdgoutputv1.cpp ../shared/xdgoutputv1.h
../shared/xdgshell.cpp ../shared/xdgshell.h
tst_primaryselectionv1.cpp
INCLUDE_DIRECTORIES
../shared
PUBLIC_LIBRARIES
Qt::Gui
Qt::OpenGL
Qt::WaylandClientPrivate
Wayland::Server
Threads::Threads # special case
)
qt6_generate_wayland_protocol_server_sources(tst_primaryselectionv1
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/wp-primary-selection-unstable-v1.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-output-unstable-v1.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml
SharedClientTest
)

View File

@ -6,30 +6,9 @@
qt_internal_add_test(tst_seatv4
SOURCES
../shared/corecompositor.cpp ../shared/corecompositor.h
../shared/coreprotocol.cpp ../shared/coreprotocol.h
../shared/datadevice.cpp ../shared/datadevice.h
../shared/mockcompositor.cpp ../shared/mockcompositor.h
../shared/textinput.cpp ../shared/textinput.h
../shared/xdgoutputv1.cpp ../shared/xdgoutputv1.h
../shared/xdgshell.cpp ../shared/xdgshell.h
tst_seatv4.cpp
INCLUDE_DIRECTORIES
../shared
PUBLIC_LIBRARIES
Qt::Gui
Qt::OpenGL
Qt::WaylandClientPrivate
Wayland::Server
Threads::Threads # special case
)
qt6_generate_wayland_protocol_server_sources(tst_seatv4
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-output-unstable-v1.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml
SharedClientTest
)
## Scopes:

View File

@ -6,28 +6,7 @@
qt_internal_add_test(tst_seatv5
SOURCES
../shared/corecompositor.cpp ../shared/corecompositor.h
../shared/coreprotocol.cpp ../shared/coreprotocol.h
../shared/datadevice.cpp ../shared/datadevice.h
../shared/mockcompositor.cpp ../shared/mockcompositor.h
../shared/textinput.cpp ../shared/textinput.h
../shared/xdgoutputv1.cpp ../shared/xdgoutputv1.h
../shared/xdgshell.cpp ../shared/xdgshell.h
tst_seatv5.cpp
INCLUDE_DIRECTORIES
../shared
PUBLIC_LIBRARIES
Qt::Gui
Qt::OpenGL
Qt::WaylandClientPrivate
Wayland::Server
Threads::Threads # special case
)
qt6_generate_wayland_protocol_server_sources(tst_seatv5
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-output-unstable-v1.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml
SharedClientTest
)

View File

@ -0,0 +1,38 @@
#####################################################################
##Client test shared components:
#####################################################################
add_library(SharedClientTest
OBJECT
corecompositor.cpp corecompositor.h
coreprotocol.cpp coreprotocol.h
datadevice.cpp datadevice.h
mockcompositor.cpp mockcompositor.h
textinput.cpp textinput.h
xdgoutputv1.cpp xdgoutputv1.h
xdgshell.cpp xdgshell.h
)
set_property(TARGET SharedClientTest PROPERTY AUTOMOC ON)
qt6_generate_wayland_protocol_server_sources(SharedClientTest
FILES
${PROJECT_SOURCE_DIR}/src/3rdparty/protocol/wp-primary-selection-unstable-v1.xml
${PROJECT_SOURCE_DIR}/src/3rdparty/protocol/tablet-unstable-v2.xml
${PROJECT_SOURCE_DIR}/src/3rdparty/protocol/text-input-unstable-v2.xml
${PROJECT_SOURCE_DIR}/src/3rdparty/protocol/wayland.xml
${PROJECT_SOURCE_DIR}/src/3rdparty/protocol/xdg-decoration-unstable-v1.xml
${PROJECT_SOURCE_DIR}/src/3rdparty/protocol/xdg-output-unstable-v1.xml
${PROJECT_SOURCE_DIR}/src/3rdparty/protocol/xdg-shell.xml
)
target_link_libraries(SharedClientTest
PUBLIC
Qt::Gui
Qt::OpenGL
Qt::WaylandClientPrivate
Wayland::Server
Threads::Threads # special case
)
target_include_directories(SharedClientTest PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})

View File

@ -6,28 +6,7 @@
qt_internal_add_test(tst_surface
SOURCES
../shared/corecompositor.cpp ../shared/corecompositor.h
../shared/coreprotocol.cpp ../shared/coreprotocol.h
../shared/datadevice.cpp ../shared/datadevice.h
../shared/mockcompositor.cpp ../shared/mockcompositor.h
../shared/textinput.cpp ../shared/textinput.h
../shared/xdgoutputv1.cpp ../shared/xdgoutputv1.h
../shared/xdgshell.cpp ../shared/xdgshell.h
tst_surface.cpp
INCLUDE_DIRECTORIES
../shared
PUBLIC_LIBRARIES
Qt::Gui
Qt::OpenGL
Qt::WaylandClientPrivate
Wayland::Server
Threads::Threads # special case
)
qt6_generate_wayland_protocol_server_sources(tst_surface
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-output-unstable-v1.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml
SharedClientTest
)

View File

@ -6,29 +6,7 @@
qt_internal_add_test(tst_tabletv2
SOURCES
../shared/corecompositor.cpp ../shared/corecompositor.h
../shared/coreprotocol.cpp ../shared/coreprotocol.h
../shared/datadevice.cpp ../shared/datadevice.h
../shared/mockcompositor.cpp ../shared/mockcompositor.h
../shared/textinput.cpp ../shared/textinput.h
../shared/xdgoutputv1.cpp ../shared/xdgoutputv1.h
../shared/xdgshell.cpp ../shared/xdgshell.h
tst_tabletv2.cpp
INCLUDE_DIRECTORIES
../shared
PUBLIC_LIBRARIES
Qt::Gui
Qt::OpenGL
Qt::WaylandClientPrivate
Wayland::Server
Threads::Threads # special case
)
qt6_generate_wayland_protocol_server_sources(tst_tabletv2
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/tablet-unstable-v2.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-output-unstable-v1.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml
SharedClientTest
)

View File

@ -6,29 +6,7 @@
qt_internal_add_test(tst_xdgdecorationv1
SOURCES
../shared/corecompositor.cpp ../shared/corecompositor.h
../shared/coreprotocol.cpp ../shared/coreprotocol.h
../shared/datadevice.cpp ../shared/datadevice.h
../shared/mockcompositor.cpp ../shared/mockcompositor.h
../shared/textinput.cpp ../shared/textinput.h
../shared/xdgoutputv1.cpp ../shared/xdgoutputv1.h
../shared/xdgshell.cpp ../shared/xdgshell.h
tst_xdgdecorationv1.cpp
INCLUDE_DIRECTORIES
../shared
PUBLIC_LIBRARIES
Qt::Gui
Qt::OpenGL
Qt::WaylandClientPrivate
Wayland::Server
Threads::Threads # special case
)
qt6_generate_wayland_protocol_server_sources(tst_xdgdecorationv1
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/xdg-decoration-unstable-v1.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-output-unstable-v1.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml
SharedClientTest
)

View File

@ -6,28 +6,7 @@
qt_internal_add_test(tst_xdgoutput
SOURCES
../shared/corecompositor.cpp ../shared/corecompositor.h
../shared/coreprotocol.cpp ../shared/coreprotocol.h
../shared/datadevice.cpp ../shared/datadevice.h
../shared/mockcompositor.cpp ../shared/mockcompositor.h
../shared/textinput.cpp ../shared/textinput.h
../shared/xdgoutputv1.cpp ../shared/xdgoutputv1.h
../shared/xdgshell.cpp ../shared/xdgshell.h
tst_xdgoutput.cpp
INCLUDE_DIRECTORIES
../shared
PUBLIC_LIBRARIES
Qt::Gui
Qt::OpenGL
Qt::WaylandClientPrivate
Wayland::Server
Threads::Threads # special case
)
qt6_generate_wayland_protocol_server_sources(tst_xdgoutput
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-output-unstable-v1.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml
SharedClientTest
)

View File

@ -6,28 +6,7 @@
qt_internal_add_test(tst_xdgshell
SOURCES
../shared/corecompositor.cpp ../shared/corecompositor.h
../shared/coreprotocol.cpp ../shared/coreprotocol.h
../shared/datadevice.cpp ../shared/datadevice.h
../shared/mockcompositor.cpp ../shared/mockcompositor.h
../shared/textinput.cpp ../shared/textinput.h
../shared/xdgoutputv1.cpp ../shared/xdgoutputv1.h
../shared/xdgshell.cpp ../shared/xdgshell.h
tst_xdgshell.cpp
INCLUDE_DIRECTORIES
../shared
PUBLIC_LIBRARIES
Qt::Gui
Qt::OpenGL
Qt::WaylandClientPrivate
Wayland::Server
Threads::Threads # special case
)
qt6_generate_wayland_protocol_server_sources(tst_xdgshell
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-output-unstable-v1.xml
${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml
SharedClientTest
)