diff options
author | Alexey Edelev <alexey.edelev@qt.io> | 2023-05-15 18:26:40 +0200 |
---|---|---|
committer | Alexey Edelev <alexey.edelev@qt.io> | 2023-05-23 12:55:25 +0200 |
commit | 4af0e67e9a9c5ada5ce6639726c2a39d6e5e1267 (patch) | |
tree | 27a72249c5943d664d29684789da40cd8b06ea63 | |
parent | 4880be70d50cc37537a44b5fd230951fa09bccb8 (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.txt | 6 | ||||
-rw-r--r-- | src/configure.cmake | 14 |
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 |