From dcfd35f43b107173816cc504a9775609fce204ba 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 Task-number: QTBUG-122899 Change-Id: Icbbb90132038c489b55c4ee7a038aea593ce1ff6 Reviewed-by: Joerg Bornemann (cherry picked from commit 0be13fb6994feade6777a17cc405d9b2f32f2aa3) Reviewed-by: Qt Cherry-pick Bot --- cmake/QtPublicSbomHelpers.cmake | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/cmake/QtPublicSbomHelpers.cmake b/cmake/QtPublicSbomHelpers.cmake index 40aac0492c8..cb41a733740 100644 --- a/cmake/QtPublicSbomHelpers.cmake +++ b/cmake/QtPublicSbomHelpers.cmake @@ -661,6 +661,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}