From 0be13fb6994feade6777a17cc405d9b2f32f2aa3 Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Fri, 10 Jan 2025 18:32:07 +0100 Subject: [PATCH] CMake: Add qt exported target name and package name into SBOM Add them to the PackageComment field of the SBOM. Can be useful to map back the SPDX Package to the CMake target or package. Pick-to: 6.8 6.9 Task-number: QTBUG-122899 Change-Id: Icbbb90132038c489b55c4ee7a038aea593ce1ff6 Reviewed-by: Joerg Bornemann --- cmake/QtPublicSbomHelpers.cmake | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/cmake/QtPublicSbomHelpers.cmake b/cmake/QtPublicSbomHelpers.cmake index 236b6736084..08ff7aac62b 100644 --- a/cmake/QtPublicSbomHelpers.cmake +++ b/cmake/QtPublicSbomHelpers.cmake @@ -665,6 +665,18 @@ function(_qt_internal_sbom_add_target target) string(APPEND package_comment "${arg_SBOM_PACKAGE_COMMENT}\n") endif() + string(APPEND package_comment "CMake target name: ${target}\n") + + get_target_property(qt_package_name "${target}" _qt_package_name) + if(qt_package_name) + get_target_property(qt_module_interface_name "${target}" _qt_module_interface_name) + set(namespaced_target_name "${QT_CMAKE_EXPORT_NAMESPACE}::${qt_module_interface_name}") + + string(APPEND package_comment + "CMake exported target name: ${namespaced_target_name}\n") + string(APPEND package_comment "Contained in CMake package: ${qt_package_name}\n") + endif() + # Record the target spdx id right now, so we can refer to it in later attribution targets # if needed. _qt_internal_sbom_record_target_spdx_id(${target}