diff --git a/cmake/QtConfigDependencies.cmake.in b/cmake/QtConfigDependencies.cmake.in index 9824f8525c5..84321499894 100644 --- a/cmake/QtConfigDependencies.cmake.in +++ b/cmake/QtConfigDependencies.cmake.in @@ -15,7 +15,7 @@ _qt_internal_find_host_info_package(${__qt_platform_requires_host_info_package}) # note: _third_party_deps example: "ICU\\;FALSE\\;1.0\\;i18n uc data;ZLIB\\;FALSE\\;\\;" set(__qt_third_party_deps "@third_party_deps@") - +@third_party_deps_extra_info@ @third_party_extra@ # Don't propagate REQUIRED so we don't immediately FATAL_ERROR, rather let the find_dependency calls diff --git a/cmake/QtPostProcessHelpers.cmake b/cmake/QtPostProcessHelpers.cmake index 533236a2d40..6ecb0c492dc 100644 --- a/cmake/QtPostProcessHelpers.cmake +++ b/cmake/QtPostProcessHelpers.cmake @@ -400,10 +400,22 @@ function(qt_internal_create_qt6_dependencies_file) unset(depends) unset(optional_public_depends) + set(third_party_deps "") + set(third_party_deps_seen "") + set(third_party_deps_package_components_ids "") + # We need to collect third party deps that are set on the public Platform target, # like Threads::Threads. # This mimics find_package part of the CONFIG += thread assignment in mkspecs/features/qt.prf. qt_collect_third_party_deps(${actual_target}) + qt_internal_collect_third_party_dep_packages_info("${INSTALL_CMAKE_NAMESPACE}" + "${third_party_deps_package_components_ids}" + packages_info) + + set(third_party_deps_extra_info "") + if(packages_info) + string(APPEND third_party_deps_extra_info "${packages_info}") + endif() # For Threads we also need to write an extra variable assignment. set(third_party_extra "")