summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Edelev <alexey.edelev@qt.io>2023-05-15 18:26:40 +0200
committerAlexey Edelev <alexey.edelev@qt.io>2023-05-23 12:55:25 +0200
commit4af0e67e9a9c5ada5ce6639726c2a39d6e5e1267 (patch)
tree27a72249c5943d664d29684789da40cd8b06ea63
parent4880be70d50cc37537a44b5fd230951fa09bccb8 (diff)
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>
-rw-r--r--src/CMakeLists.txt6
-rw-r--r--src/configure.cmake14
2 files changed, 20 insertions, 0 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 0ac09b52f..b804531ae 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -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)
diff --git a/src/configure.cmake b/src/configure.cmake
index 9954ea626..4270e8196 100644
--- a/src/configure.cmake
+++ b/src/configure.cmake
@@ -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