Prefer the versioned targets over the namespaceless one when collecting deps
Change the way we collect dependencies in __qt_internal_walk_libs. Prefer the versioned Qt targets over the namespaceless. This fixes the generating of the pkg-config configs. Pick-to: 6.6 6.5 Task-number: QTBUG-124135 Change-Id: I660376e122a99b5bc0874f2bc6ccd4d80c9ad453 Reviewed-by: Ionen Wolkens <ionen@gentoo.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit ac4920b5c0a537ede62dcef76a32311a497c68e1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
21b2ce455c
commit
5ee9da89af
@ -184,13 +184,13 @@ function(__qt_internal_walk_libs
|
||||
if(lib_target MATCHES "^::@")
|
||||
continue()
|
||||
elseif(TARGET ${lib_target})
|
||||
if ("${lib_target}" MATCHES "^Qt::(.*)")
|
||||
# If both, Qt::Foo and Foo targets exist, prefer the target name without
|
||||
if(NOT "${lib_target}" MATCHES "^(Qt|${QT_CMAKE_EXPORT_NAMESPACE})::.+")
|
||||
# If both, Qt::Foo and Foo targets exist, prefer the target name with versioned
|
||||
# namespace. Which one is preferred doesn't really matter. This code exists to
|
||||
# avoid ending up with both, Qt::Foo and Foo in our dependencies.
|
||||
set(namespaceless_lib_target "${CMAKE_MATCH_1}")
|
||||
if(TARGET "${namespaceless_lib_target}")
|
||||
set(lib_target ${namespaceless_lib_target})
|
||||
set(versioned_qt_target "${QT_CMAKE_EXPORT_NAMESPACE}::${lib_target}")
|
||||
if(TARGET "${versioned_qt_target}")
|
||||
set(lib_target ${versioned_qt_target})
|
||||
endif()
|
||||
endif()
|
||||
get_target_property(lib_target_type ${lib_target} TYPE)
|
||||
|
Loading…
x
Reference in New Issue
Block a user