Force linking against versioned libraries when building Qt artifacts
Replace Qt:: namespace with Qt6:: namespace in target_link_libraries for the Qt modules/plugins/libraries. Fixes: QTBUG-114706 Change-Id: Idfd0917dbe1a6a266bc4e9d5f465e550788b5aaf Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
parent
9c56c1f7c2
commit
1c287cea29
@ -515,8 +515,15 @@ function(qt_register_target_dependencies target public_libs private_libs)
|
||||
endif()
|
||||
|
||||
foreach(lib IN LISTS lib_list)
|
||||
if ("${lib}" MATCHES "^Qt::(.*)")
|
||||
if("${lib}" MATCHES "^Qt::(.*)")
|
||||
set(lib "${CMAKE_MATCH_1}")
|
||||
elseif("${lib}" MATCHES "^${QT_CMAKE_EXPORT_NAMESPACE}::(.*)")
|
||||
set(lib "${CMAKE_MATCH_1}")
|
||||
else()
|
||||
set(lib "")
|
||||
endif()
|
||||
|
||||
if(lib)
|
||||
qt_internal_get_package_name_of_target("${lib}" package_name)
|
||||
qt_internal_get_package_version_of_target("${lib}" package_version)
|
||||
list(APPEND target_deps "${package_name}\;${package_version}")
|
||||
@ -532,8 +539,16 @@ function(qt_register_target_dependencies target public_libs private_libs)
|
||||
# INTERFACE libraries. INTERFACE libraries in most cases will be FooPrivate libraries.
|
||||
if(target_is_shared AND private_libs)
|
||||
foreach(lib IN LISTS private_libs)
|
||||
if ("${lib}" MATCHES "^Qt::(.*)")
|
||||
set(lib_namespaced "${lib}")
|
||||
set(lib_namespaced "${lib}")
|
||||
if("${lib}" MATCHES "^Qt::(.*)")
|
||||
set(lib "${CMAKE_MATCH_1}")
|
||||
elseif("${lib}" MATCHES "^${QT_CMAKE_EXPORT_NAMESPACE}::(.*)")
|
||||
set(lib "${CMAKE_MATCH_1}")
|
||||
else()
|
||||
set(lib "")
|
||||
endif()
|
||||
|
||||
if(lib)
|
||||
set(lib "${CMAKE_MATCH_1}")
|
||||
|
||||
qt_internal_is_lib_part_of_qt6_package("${lib}" is_part_of_qt6)
|
||||
|
@ -134,6 +134,9 @@ function(qt_internal_extend_target target)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
list(TRANSFORM arg_PUBLIC_LIBRARIES REPLACE "^Qt::" "${QT_CMAKE_EXPORT_NAMESPACE}::")
|
||||
list(TRANSFORM arg_LIBRARIES REPLACE "^Qt::" "${QT_CMAKE_EXPORT_NAMESPACE}::")
|
||||
|
||||
# Set-up the target
|
||||
|
||||
# CMake versions less than 3.19 don't support adding the source files to the PRIVATE scope
|
||||
|
Loading…
x
Reference in New Issue
Block a user