Avoid promoting Wayland targets to global if they already exist

Disable promotion to global for all Wayland targets that are already
promoted by another find_package calls.

Fixes: QTBUG-113560
Pick-to: 6.5
Change-Id: I7c6984ed15daf996dd87db13290c98ee2c4cbeb6
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
Alexey Edelev 2023-05-15 18:26:40 +02:00
parent 117f8dedcc
commit 573486001f
2 changed files with 20 additions and 0 deletions

View File

@ -4,6 +4,12 @@
# Generated from src.pro.
# special case begin
qt_find_package(WaylandScanner PROVIDED_TARGETS Wayland::Scanner)
if(TARGET Wayland::Client)
qt_internal_disable_find_package_global_promotion(Wayland::Client)
endif()
if(TARGET Wayland::Server)
qt_internal_disable_find_package_global_promotion(Wayland::Server)
endif()
qt_find_package(Wayland 1.15 PROVIDED_TARGETS Wayland::Client Wayland::Server)
if (NOT WaylandScanner_FOUND OR NOT Wayland_FOUND)

View File

@ -12,21 +12,35 @@ set(INPUT_wayland_text_input_v4_wip OFF CACHE BOOL "")
if(LINUX OR QT_FIND_ALL_PACKAGES_ALWAYS)
# waylandclient libraries
if(TARGET Wayland::Client)
qt_internal_disable_find_package_global_promotion(Wayland::Client)
endif()
qt_find_package(Wayland
PROVIDED_TARGETS Wayland::Client
MODULE_NAME waylandclient
QMAKE_LIB wayland-client)
if(TARGET Wayland::Cursor)
qt_internal_disable_find_package_global_promotion(Wayland::Cursor)
endif()
qt_find_package(Wayland
PROVIDED_TARGETS Wayland::Cursor
MODULE_NAME waylandclient
QMAKE_LIB wayland-cursor)
qt_add_qmake_lib_dependency(wayland-cursor wayland-client)
if(TARGET Wayland::Egl)
qt_internal_disable_find_package_global_promotion(Wayland::Egl)
endif()
qt_find_package(Wayland
PROVIDED_TARGETS Wayland::Egl
MODULE_NAME waylandclient
QMAKE_LIB wayland-egl)
# waylandcompositor libraries
if(TARGET Wayland::Server)
qt_internal_disable_find_package_global_promotion(Wayland::Server)
endif()
qt_find_package(Wayland
PROVIDED_TARGETS Wayland::Server
MODULE_NAME waylandcompositor