client: Run waylandscanner with private-code

This is the recommended mode, and failing to use private-code
makes libraries expose generated symbols like wl_shm_interface,
which may conflict with symbols from libwayland leading to
unexpected behavior or aborts.

Change-Id: Ifcb701a8670b339d24b13f2812c10493a64ee060
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
This commit is contained in:
David Redondo 2024-10-21 09:22:30 +02:00
parent d335a332f8
commit 1dfa712eb5
11 changed files with 21 additions and 4 deletions

View File

@ -94,6 +94,7 @@ qt_internal_add_module(WaylandClient
)
qt6_generate_wayland_protocol_client_sources(WaylandClient
PRIVATE_CODE
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/cursor-shape/cursor-shape-v1.xml
${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/pointer-gestures/pointer-gestures-unstable-v1.xml

View File

@ -28,6 +28,7 @@ qt_internal_add_plugin(QWaylandBrcmEglClientBufferPlugin
)
qt6_generate_wayland_protocol_client_sources(QWaylandBrcmEglClientBufferPlugin
PRIVATE_CODE
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/brcm-egl/../../../extensions/brcm.xml
)

View File

@ -26,8 +26,10 @@ qt_internal_add_plugin(DmaBufServerBufferPlugin
)
qt6_generate_wayland_protocol_client_sources(DmaBufServerBufferPlugin
PRIVATE_CODE
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/dmabuf-server/../../../extensions/qt-dmabuf-server-buffer.xml
${CMAKE_CURRENT_SOURCE_DIR}/../../../../extensions/qt-dmabuf-server-buffer.xml
${CMAKE_CURRENT_SOURCE_DIR}/../../../../extensions/server-buffer-extension.xml
)
#### Keys ignored in scope 1:.:.:dmabuf-server.pro:<TRUE>:

View File

@ -26,8 +26,10 @@ qt_internal_add_plugin(DrmEglServerBufferPlugin
)
qt6_generate_wayland_protocol_client_sources(DrmEglServerBufferPlugin
PRIVATE_CODE
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/drm-egl-server/../../../extensions/drm-egl-server-buffer.xml
${CMAKE_CURRENT_SOURCE_DIR}/../../../../extensions/drm-egl-server-buffer.xml
${CMAKE_CURRENT_SOURCE_DIR}/../../../../extensions/server-buffer-extension.xml
)
#### Keys ignored in scope 1:.:.:drm-egl-server.pro:<TRUE>:

View File

@ -25,6 +25,7 @@ qt_internal_add_plugin(LibHybrisEglServerBufferPlugin
)
qt6_generate_wayland_protocol_client_sources(LibHybrisEglServerBufferPlugin
PRIVATE_CODE
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/libhybris-egl-server/../../../extensions/libhybris-egl-server-buffer.xml
)

View File

@ -25,8 +25,10 @@ qt_internal_add_plugin(ShmServerBufferPlugin
)
qt6_generate_wayland_protocol_client_sources(ShmServerBufferPlugin
PRIVATE_CODE
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/shm-emulation-server/../../../extensions/shm-emulation-server-buffer.xml
${CMAKE_CURRENT_SOURCE_DIR}/../../../../extensions/server-buffer-extension.xml
${CMAKE_CURRENT_SOURCE_DIR}/../../../../extensions/shm-emulation-server-buffer.xml
)
#### Keys ignored in scope 1:.:.:shm-emulation-server.pro:<TRUE>:

View File

@ -25,8 +25,11 @@ qt_internal_add_plugin(VulkanServerBufferPlugin
)
qt6_generate_wayland_protocol_client_sources(VulkanServerBufferPlugin
PRIVATE_CODE
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/vulkan-server/../../../extensions/qt-vulkan-server-buffer-unstable-v1.xml
${CMAKE_CURRENT_SOURCE_DIR}/../../../../extensions/qt-vulkan-server-buffer-unstable-v1.xml
${CMAKE_CURRENT_SOURCE_DIR}/../../../../extensions/server-buffer-extension.xml
)
#### Keys ignored in scope 1:.:.:vulkan-server.pro:<TRUE>:

View File

@ -26,6 +26,7 @@ qt_internal_add_plugin(QWaylandFullScreenShellV1IntegrationPlugin
)
qt6_generate_wayland_protocol_client_sources(QWaylandFullScreenShellV1IntegrationPlugin
PRIVATE_CODE
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../../../3rdparty/protocol/fullscreen-shell/fullscreen-shell-unstable-v1.xml
)

View File

@ -28,6 +28,7 @@ qt_internal_add_module(WlShellIntegrationPrivate
qt6_generate_wayland_protocol_client_sources(WlShellIntegrationPrivate
# this is just a helper module and still part of the QtWaylandClient build
__QT_INTERNAL_WAYLAND_INCLUDE_DIR QtWaylandClient/private
PRIVATE_CODE
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../../../3rdparty/protocol/wayland/wayland.xml
)

View File

@ -34,6 +34,7 @@ qt_internal_add_plugin(QWaylandXdgShellIntegrationPlugin
)
qt6_generate_wayland_protocol_client_sources(QWaylandXdgShellIntegrationPlugin
PRIVATE_CODE
FILES
${CMAKE_CURRENT_SOURCE_DIR}/../../../3rdparty/protocol/xdg-decoration/xdg-decoration-unstable-v1.xml
${CMAKE_CURRENT_SOURCE_DIR}/../../../3rdparty/protocol/xdg-shell/xdg-shell.xml

View File

@ -9,9 +9,11 @@ qt_internal_add_test(tst_clientextension
)
qt6_generate_wayland_protocol_client_sources(tst_clientextension
PRIVATE_CODE
FILES ${CMAKE_CURRENT_SOURCE_DIR}/test.xml
)
qt6_generate_wayland_protocol_server_sources(tst_clientextension
PRIVATE_CODE
FILES ${CMAKE_CURRENT_SOURCE_DIR}/test.xml
)