From 3f8a71b712b664c194c70589ee3ff48806a4a156 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. Task-number: QTBUG-122899 Change-Id: Icbbb90132038c489b55c4ee7a038aea593ce1ff6 Reviewed-by: Joerg Bornemann (cherry picked from commit 0be13fb6994feade6777a17cc405d9b2f32f2aa3) Reviewed-by: Qt Cherry-pick Bot (cherry picked from commit dcfd35f43b107173816cc504a9775609fce204ba) --- cmake/QtPublicSbomHelpers.cmake | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/cmake/QtPublicSbomHelpers.cmake b/cmake/QtPublicSbomHelpers.cmake index 236b673608..08ff7aac62 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}