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 qt6_generate_wayland_protocol_client_sources(WaylandClient
PRIVATE_CODE
FILES FILES
${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/cursor-shape/cursor-shape-v1.xml ${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 ${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 qt6_generate_wayland_protocol_client_sources(QWaylandBrcmEglClientBufferPlugin
PRIVATE_CODE
FILES FILES
${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/brcm-egl/../../../extensions/brcm.xml ${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 qt6_generate_wayland_protocol_client_sources(DmaBufServerBufferPlugin
PRIVATE_CODE
FILES 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>: #### 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 qt6_generate_wayland_protocol_client_sources(DrmEglServerBufferPlugin
PRIVATE_CODE
FILES 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>: #### 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 qt6_generate_wayland_protocol_client_sources(LibHybrisEglServerBufferPlugin
PRIVATE_CODE
FILES FILES
${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/libhybris-egl-server/../../../extensions/libhybris-egl-server-buffer.xml ${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 qt6_generate_wayland_protocol_client_sources(ShmServerBufferPlugin
PRIVATE_CODE
FILES 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>: #### 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 qt6_generate_wayland_protocol_client_sources(VulkanServerBufferPlugin
PRIVATE_CODE
FILES 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>: #### 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 qt6_generate_wayland_protocol_client_sources(QWaylandFullScreenShellV1IntegrationPlugin
PRIVATE_CODE
FILES FILES
${CMAKE_CURRENT_SOURCE_DIR}/../../../3rdparty/protocol/fullscreen-shell/fullscreen-shell-unstable-v1.xml ${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 qt6_generate_wayland_protocol_client_sources(WlShellIntegrationPrivate
# this is just a helper module and still part of the QtWaylandClient build # this is just a helper module and still part of the QtWaylandClient build
__QT_INTERNAL_WAYLAND_INCLUDE_DIR QtWaylandClient/private __QT_INTERNAL_WAYLAND_INCLUDE_DIR QtWaylandClient/private
PRIVATE_CODE
FILES FILES
${CMAKE_CURRENT_SOURCE_DIR}/../../../3rdparty/protocol/wayland/wayland.xml ${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 qt6_generate_wayland_protocol_client_sources(QWaylandXdgShellIntegrationPlugin
PRIVATE_CODE
FILES FILES
${CMAKE_CURRENT_SOURCE_DIR}/../../../3rdparty/protocol/xdg-decoration/xdg-decoration-unstable-v1.xml ${CMAKE_CURRENT_SOURCE_DIR}/../../../3rdparty/protocol/xdg-decoration/xdg-decoration-unstable-v1.xml
${CMAKE_CURRENT_SOURCE_DIR}/../../../3rdparty/protocol/xdg-shell/xdg-shell.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 qt6_generate_wayland_protocol_client_sources(tst_clientextension
PRIVATE_CODE
FILES ${CMAKE_CURRENT_SOURCE_DIR}/test.xml FILES ${CMAKE_CURRENT_SOURCE_DIR}/test.xml
) )
qt6_generate_wayland_protocol_server_sources(tst_clientextension qt6_generate_wayland_protocol_server_sources(tst_clientextension
PRIVATE_CODE
FILES ${CMAKE_CURRENT_SOURCE_DIR}/test.xml FILES ${CMAKE_CURRENT_SOURCE_DIR}/test.xml
) )