summaryrefslogtreecommitdiffstats
path: root/cmake/QtPublicDependencyHelpers.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/QtPublicDependencyHelpers.cmake')
-rw-r--r--cmake/QtPublicDependencyHelpers.cmake33
1 files changed, 32 insertions, 1 deletions
diff --git a/cmake/QtPublicDependencyHelpers.cmake b/cmake/QtPublicDependencyHelpers.cmake
index de62eb1c10..f426cbc0b4 100644
--- a/cmake/QtPublicDependencyHelpers.cmake
+++ b/cmake/QtPublicDependencyHelpers.cmake
@@ -35,6 +35,37 @@ macro(_qt_internal_find_third_party_dependencies target target_dep_list)
else()
find_dependency(${__qt_${target}_find_package_args})
endif()
+
+ _qt_internal_get_package_components_id(
+ PACKAGE_NAME "${__qt_${target}_pkg}"
+ COMPONENTS ${__qt_${target}_components}
+ OPTIONAL_COMPONENTS ${__qt_${target}_optional_components}
+ OUT_VAR_KEY __qt_${target}_package_components_id
+ )
+ if(${__qt_${target}_pkg}_FOUND
+ AND __qt_${target}_third_party_package_${__qt_${target}_package_components_id}_provided_targets)
+ set(__qt_${target}_sbom_args "")
+
+ if(${__qt_${target}_pkg}_VERSION)
+ list(APPEND __qt_${target}_sbom_args
+ PACKAGE_VERSION "${${__qt_${target}_pkg}_VERSION}"
+ )
+ endif()
+
+ # Work around: QTBUG-125371
+ if(NOT "${ARGV0}" STREQUAL "Qt6")
+ foreach(__qt_${target}_provided_target
+ IN LISTS
+ __qt_${target}_third_party_package_${__qt_${target}_package_components_id}_provided_targets)
+ _qt_internal_sbom_record_system_library_usage(
+ "${__qt_${target}_provided_target}"
+ TYPE SYSTEM_LIBRARY
+ FRIENDLY_PACKAGE_NAME "${__qt_${target}_pkg}"
+ ${__qt_${target}_sbom_args}
+ )
+ endforeach()
+ endif()
+ endif()
endforeach()
endmacro()
@@ -112,9 +143,9 @@ macro(_qt_internal_find_qt_dependencies target target_dep_list find_dependency_p
NAMES
${__qt_${target}_pkg_names}
PATHS
+ ${QT_BUILD_CMAKE_PREFIX_PATH}
${${find_dependency_path_list}}
${_qt_additional_packages_prefix_paths}
- ${QT_EXAMPLES_CMAKE_PREFIX_PATH}
${__qt_use_no_default_path_for_qt_packages}
)
endif()