diff options
author | Alexandru Croitor <[email protected]> | 2024-03-07 18:02:56 +0100 |
---|---|---|
committer | Alexandru Croitor <[email protected]> | 2024-06-13 16:54:47 +0200 |
commit | 79f9b490e7f6e2746de36542cc4c7442dabe8315 (patch) | |
tree | cad1908c542ae4f289db5c48a1a96ea22c247eee | |
parent | 37a5e001277db9e1392a242171ab2b88cb6c3049 (diff) |
CMake: Annotate some targets with SBOM information
Pick-to: 6.8
Task-number: QTBUG-122899
Change-Id: I2eb70ca4d52e30c8e15ca7b350df6965d93732f8
Reviewed-by: Alexey Edelev <[email protected]>
-rw-r--r-- | qmake/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/3rdparty/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/3rdparty/pcre2/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/corelib/CMakeLists.txt | 28 | ||||
-rw-r--r-- | src/corelib/configure.cmake | 6 | ||||
-rw-r--r-- | src/gui/CMakeLists.txt | 30 | ||||
-rw-r--r-- | src/gui/configure.cmake | 10 | ||||
-rw-r--r-- | src/network/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/plugins/platforms/wasm/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/plugins/platforms/windows/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/plugins/platforms/xcb/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/plugins/sqldrivers/sqlite/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/testlib/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/tools/bootstrap/CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/tools/moc/CMakeLists.txt | 10 |
15 files changed, 113 insertions, 1 deletions
diff --git a/qmake/CMakeLists.txt b/qmake/CMakeLists.txt index ee7a91eae6d..78e85c76964 100644 --- a/qmake/CMakeLists.txt +++ b/qmake/CMakeLists.txt @@ -15,6 +15,10 @@ qt_add_library(QtLibraryInfo OBJECT propertyprinter.cpp propertyprinter.h qmakelibraryinfo.cpp qmakelibraryinfo.h ) +qt_internal_add_sbom(QtLibraryInfo + TYPE QT_MODULE + NO_INSTALL +) # Make sure we use same parameters when building QtLibraryInfo and other Qt libraries, # otherwise some compilers may have compilation errors, such as clang-cl. diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index 493f6bddff4..f14da0e3c1e 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -8,6 +8,8 @@ if(QT_FEATURE_gui AND QT_FEATURE_jpeg AND NOT QT_FEATURE_system_jpeg) endif() qt_install_3rdparty_library_wrap_config_extra_file(BundledLibjpeg) +# Needed for freetype, because it links against WrapPNG +qt_find_package(WrapPNG PROVIDED_TARGETS WrapPNG::WrapPNG) if(QT_FEATURE_gui AND QT_FEATURE_freetype AND NOT QT_FEATURE_system_freetype) add_subdirectory(freetype) endif() diff --git a/src/3rdparty/pcre2/CMakeLists.txt b/src/3rdparty/pcre2/CMakeLists.txt index 22b90a57e1a..ec549515d28 100644 --- a/src/3rdparty/pcre2/CMakeLists.txt +++ b/src/3rdparty/pcre2/CMakeLists.txt @@ -45,6 +45,8 @@ qt_internal_add_3rdparty_library(BundledPcre2 PCRE2_CODE_UNIT_WIDTH=16 PUBLIC_INCLUDE_DIRECTORIES $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src> + CPE_VENDOR "pcre" + CPE_PRODUCT "pcre2" ) qt_disable_warnings(BundledPcre2) qt_set_symbol_visibility_hidden(BundledPcre2) diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt index b4c47e8bad8..b4e4cd2c7d8 100644 --- a/src/corelib/CMakeLists.txt +++ b/src/corelib/CMakeLists.txt @@ -2,7 +2,17 @@ # SPDX-License-Identifier: BSD-3-Clause qt_find_package(WrapPCRE2 PROVIDED_TARGETS WrapPCRE2::WrapPCRE2) +qt_internal_extend_sbom(WrapPCRE2::WrapPCRE2 + CPE_VENDOR "pcre" + CPE_PRODUCT "pcre2" + DOWNLOAD_LOCATION "https://github.com/PCRE2Project/pcre2" +) qt_find_package(WrapZLIB PROVIDED_TARGETS WrapZLIB::WrapZLIB) +qt_internal_extend_sbom(WrapZLIB::WrapZLIB + CPE_VENDOR "zlib" + CPE_PRODUCT "zlib" + DOWNLOAD_LOCATION "https://github.com/madler/zlib" +) if(ANDROID) set(corelib_extra_cmake_files @@ -347,6 +357,16 @@ qt_internal_add_module(Core POLICIES QTP0002 QTP0003 + ATTRIBUTION_FILE_DIR_PATHS + text + tools + ../3rdparty/blake2 + ../3rdparty/md4 + ../3rdparty/md5 + ../3rdparty/sha1 + ../3rdparty/sha3 + ../3rdparty/rfc6234 + ../3rdparty/tinycbor ) _qt_internal_setup_deploy_support() @@ -610,6 +630,8 @@ qt_internal_extend_target(Core CONDITION APPLE # This makes sure that the tst_qmakelib passes. For some reason, # QtCore ends up returning a corrupted error message in # write_file(): fail + ATTRIBUTION_FILE_DIR_PATHS + kernel ) qt_internal_extend_target(Core CONDITION MACOS @@ -779,6 +801,8 @@ qt_internal_extend_target(Core CONDITION QT_FEATURE_doubleconversion AND NOT QT_ INCLUDE_DIRECTORIES ../3rdparty/double-conversion/double-conversion ../3rdparty/double-conversion + ATTRIBUTION_FILE_DIR_PATHS + ../3rdparty/double-conversion ) qt_internal_extend_target(Core CONDITION QT_FEATURE_system_libb2 @@ -790,6 +814,8 @@ qt_internal_extend_target(Core CONDITION QT_FEATURE_easingcurve SOURCES tools/qeasingcurve.cpp tools/qeasingcurve.h tools/qtimeline.cpp tools/qtimeline.h + ATTRIBUTION_FILE_DIR_PATHS + ../3rdparty/easing ) qt_internal_extend_target(Core CONDITION UNIX AND NOT HAIKU AND NOT INTEGRITY AND NOT VXWORKS AND NOT WASM AND NOT MACOS @@ -1005,6 +1031,8 @@ qt_internal_extend_target(Core CONDITION QT_FEATURE_process AND UNIX io/forkfd_qt.c INCLUDE_DIRECTORIES ../3rdparty/forkfd + ATTRIBUTION_FILE_DIR_PATHS + ../3rdparty/forkfd ) qt_internal_extend_target(Core CONDITION APPLE AND QT_FEATURE_processenvironment diff --git a/src/corelib/configure.cmake b/src/corelib/configure.cmake index b34086c8ada..93ccf87e11b 100644 --- a/src/corelib/configure.cmake +++ b/src/corelib/configure.cmake @@ -26,6 +26,9 @@ qt_find_package(WrapSystemDoubleConversion PROVIDED_TARGETS WrapSystemDoubleConversion::WrapSystemDoubleConversion MODULE_NAME core QMAKE_LIB doubleconversion) qt_find_package(GLIB2 PROVIDED_TARGETS GLIB2::GLIB2 MODULE_NAME core QMAKE_LIB glib) +qt_find_package_extend_sbom(TARGETS GLIB2::GLIB2 + LICENSE_EXPRESSION "LGPL-2.1-or-later" +) qt_find_package(ICU 50.1 COMPONENTS i18n uc data PROVIDED_TARGETS ICU::i18n ICU::uc ICU::data MODULE_NAME core QMAKE_LIB icu) @@ -35,6 +38,9 @@ endif() qt_find_package(Libsystemd PROVIDED_TARGETS PkgConfig::Libsystemd MODULE_NAME core QMAKE_LIB journald) qt_find_package(WrapAtomic PROVIDED_TARGETS WrapAtomic::WrapAtomic MODULE_NAME core QMAKE_LIB libatomic) qt_find_package(Libb2 PROVIDED_TARGETS Libb2::Libb2 MODULE_NAME core QMAKE_LIB libb2) +qt_find_package_extend_sbom(TARGETS Libb2::Libb2 + LICENSE_EXPRESSION "CC0-1.0" +) qt_find_package(WrapRt PROVIDED_TARGETS WrapRt::WrapRt MODULE_NAME core QMAKE_LIB librt) qt_find_package(WrapSystemPCRE2 10.20 PROVIDED_TARGETS WrapSystemPCRE2::WrapSystemPCRE2 MODULE_NAME core QMAKE_LIB pcre2) set_package_properties(WrapPCRE2 PROPERTIES TYPE REQUIRED) diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index af781277058..edf6ef09e99 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -294,6 +294,12 @@ qt_internal_add_module(Gui "(^|/)qplatform.+\\.h$|(^|/)qwindowsystem.+\\.h$" RHI_HEADER_FILTERS "(^|/)qrhi\\.h$|(^|/)qrhi_platform\\.h$|(^|/)qshader\\.h$|(^|/)qshaderdescription\\.h$" + ATTRIBUTION_FILE_DIR_PATHS + rhi + opengl + painting + text + ../3rdparty/VulkanMemoryAllocator ) # Resources: @@ -305,6 +311,15 @@ if(QT_FEATURE_pdf) "../3rdparty/icc/sRGB2014.icc" "painting/qpdfa_metadata.xml" ) + qt_internal_extend_target(Gui + ATTRIBUTION_FILE_DIR_PATHS + ../3rdparty/icc + ) + qt_internal_sbom_add_license( + LICENSE_ID "ICC-License" + LICENSE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/icc/LICENSE.txt" + ) + qt_internal_add_resource(Gui "qpdf" PREFIX "/qpdf/" @@ -463,6 +478,8 @@ qt_internal_extend_target(Gui CONDITION WIN32 dxgi dxguid d3d12 + ATTRIBUTION_FILE_DIR_PATHS + ../3rdparty/D3D12MemoryAllocator ) if(QT_FEATURE_graphicsframecapture) @@ -719,6 +736,8 @@ qt_internal_extend_target(Gui CONDITION QT_FEATURE_textmarkdownreader AND NOT QT MD4C_USE_UTF8 INCLUDE_DIRECTORIES ../3rdparty/md4c + ATTRIBUTION_FILE_DIR_PATHS + ../3rdparty/md4c ) qt_internal_extend_target(Gui CONDITION QT_FEATURE_textmarkdownwriter @@ -798,7 +817,12 @@ qt_internal_extend_target(Gui CONDITION MINGW AND WIN32 # Note: These helpers are only used for 16-bit surfaces, so excluding them does not generally # exclude neon-drawhelpers on these platforms. if(UNIX AND NOT ANDROID AND NOT INTEGRITY AND NOT (TEST_architecture_arch STREQUAL "arm64") AND NOT UIKIT AND NOT QT_IS_MACOS_UNIVERSAL) - qt_internal_extend_target(Gui DEFINES ENABLE_PIXMAN_DRAWHELPERS) + qt_internal_extend_target(Gui + DEFINES + ENABLE_PIXMAN_DRAWHELPERS + ATTRIBUTION_FILE_DIR_PATHS + ../3rdparty/pixman + ) qt_internal_add_simd_part(Gui SIMD neon SOURCES ../3rdparty/pixman/pixman-arm-neon-asm.S @@ -823,6 +847,8 @@ qt_internal_extend_target(Gui CONDITION QT_FEATURE_system_zlib qt_internal_extend_target(Gui CONDITION NOT QT_FEATURE_system_zlib INCLUDE_DIRECTORIES ../3rdparty/zlib/src + ATTRIBUTION_FILE_DIR_PATHS + ../3rdparty/zlib ) qt_internal_extend_target(Gui CONDITION NOT QT_FEATURE_system_zlib AND NOT no_core_dep @@ -888,6 +914,8 @@ qt_internal_extend_target(Gui CONDITION QT_FEATURE_vulkan vulkan/qvulkanfunctions.cpp vulkan/qvulkaninstance.cpp vulkan/qvulkaninstance.h vulkan/qvulkaninstance_p.h vulkan/qvulkanwindow.cpp vulkan/qvulkanwindow.h vulkan/qvulkanwindow_p.h + ATTRIBUTION_FILE_DIR_PATHS + vulkan ) if(QT_FEATURE_vulkan) qt_internal_add_target_include_dirs_and_optionally_propagate( diff --git a/src/gui/configure.cmake b/src/gui/configure.cmake index da08863ac69..d3773b3e15c 100644 --- a/src/gui/configure.cmake +++ b/src/gui/configure.cmake @@ -48,6 +48,16 @@ qt_add_qmake_lib_dependency(fontconfig freetype) qt_find_package(gbm PROVIDED_TARGETS gbm::gbm MODULE_NAME gui QMAKE_LIB gbm) qt_find_package(WrapSystemHarfbuzz 2.6.0 PROVIDED_TARGETS WrapSystemHarfbuzz::WrapSystemHarfbuzz MODULE_NAME gui QMAKE_LIB harfbuzz) qt_find_package(Libinput PROVIDED_TARGETS Libinput::Libinput MODULE_NAME gui QMAKE_LIB libinput) +qt_find_package_extend_sbom(TARGETS Libinput::Libinput + COPYRIGHTS + "Copyright © 2006-2009 Simon Thum" + "Copyright © 2008-2012 Kristian Høgsberg" + "Copyright © 2010-2012 Intel Corporation" + "Copyright © 2010-2011 Benjamin Franzke" + "Copyright © 2011-2012 Collabora, Ltd." + "Copyright © 2013-2014 Jonas Ådahl" + "Copyright © 2013-2015 Red Hat, Inc." +) qt_find_package(WrapSystemJpeg PROVIDED_TARGETS WrapSystemJpeg::WrapSystemJpeg MODULE_NAME gui QMAKE_LIB libjpeg) qt_find_package(WrapSystemMd4c PROVIDED_TARGETS WrapSystemMd4c::WrapSystemMd4c MODULE_NAME gui QMAKE_LIB libmd4c) qt_find_package(WrapSystemPNG PROVIDED_TARGETS WrapSystemPNG::WrapSystemPNG MODULE_NAME gui QMAKE_LIB libpng) diff --git a/src/network/CMakeLists.txt b/src/network/CMakeLists.txt index 2e028230bd6..7029548b180 100644 --- a/src/network/CMakeLists.txt +++ b/src/network/CMakeLists.txt @@ -166,6 +166,8 @@ qt_internal_extend_target(Network CONDITION QT_FEATURE_system_zlib qt_internal_extend_target(Network CONDITION NOT QT_FEATURE_system_zlib INCLUDE_DIRECTORIES ../3rdparty/zlib/src + ATTRIBUTION_FILE_DIR_PATHS + ../3rdparty/zlib ) qt_internal_extend_target(Network CONDITION NOT QT_FEATURE_system_zlib AND NOT no_core_dep @@ -179,6 +181,8 @@ qt_internal_extend_target(Network CONDITION QT_FEATURE_topleveldomain ../3rdparty/libpsl/src/lookup_string_in_fixed_set.c INCLUDE_DIRECTORIES ../3rdparty/libpsl + ATTRIBUTION_FILE_DIR_PATHS + ../3rdparty/libpsl ) qt_internal_extend_target(Network CONDITION QT_FEATURE_dnslookup diff --git a/src/plugins/platforms/wasm/CMakeLists.txt b/src/plugins/platforms/wasm/CMakeLists.txt index 775946aaf9a..caf5d3dff69 100644 --- a/src/plugins/platforms/wasm/CMakeLists.txt +++ b/src/plugins/platforms/wasm/CMakeLists.txt @@ -44,6 +44,8 @@ qt_internal_add_plugin(QWasmIntegrationPlugin Qt::CorePrivate Qt::Gui Qt::GuiPrivate + ATTRIBUTION_FILE_DIR_PATHS + ../../../3rdparty/wasm ) # Resources: diff --git a/src/plugins/platforms/windows/CMakeLists.txt b/src/plugins/platforms/windows/CMakeLists.txt index f2d46ed2659..bbb8c46cf67 100644 --- a/src/plugins/platforms/windows/CMakeLists.txt +++ b/src/plugins/platforms/windows/CMakeLists.txt @@ -131,6 +131,8 @@ qt_internal_extend_target(QWindowsIntegrationPlugin CONDITION QT_FEATURE_tablete qwindowstabletsupport.cpp qwindowstabletsupport.h INCLUDE_DIRECTORIES ${QtBase_SOURCE_DIR}/src/3rdparty/wintab + ATTRIBUTION_FILE_DIR_PATHS + ../../../3rdparty/wintab ) qt_internal_extend_target(QWindowsIntegrationPlugin CONDITION QT_FEATURE_sessionmanager diff --git a/src/plugins/platforms/xcb/CMakeLists.txt b/src/plugins/platforms/xcb/CMakeLists.txt index 96758e71816..4fa6c1e9789 100644 --- a/src/plugins/platforms/xcb/CMakeLists.txt +++ b/src/plugins/platforms/xcb/CMakeLists.txt @@ -146,6 +146,10 @@ qt_internal_extend_target(XcbQpaPrivate CONDITION QT_FEATURE_fontconfig AND QT_F if(QT_FEATURE_system_xcb_xinput) qt_internal_extend_target(XcbQpaPrivate LIBRARIES XCB::XINPUT) else() + qt_internal_extend_target(XcbQpaPrivate + ATTRIBUTION_FILE_DIR_PATHS + ../../../3rdparty/xcb + ) set(xinput_source "${PROJECT_SOURCE_DIR}/src/3rdparty/xcb/libxcb/xinput.c") set_source_files_properties( "${xinput_source}" diff --git a/src/plugins/sqldrivers/sqlite/CMakeLists.txt b/src/plugins/sqldrivers/sqlite/CMakeLists.txt index 4203a5c4374..e667034c2e5 100644 --- a/src/plugins/sqldrivers/sqlite/CMakeLists.txt +++ b/src/plugins/sqldrivers/sqlite/CMakeLists.txt @@ -60,6 +60,8 @@ qt_internal_extend_target(QSQLiteDriverPlugin CONDITION NOT QT_FEATURE_system_sq SQLITE_OMIT_COMPLETE INCLUDE_DIRECTORIES ../../../3rdparty/sqlite + ATTRIBUTION_FILE_DIR_PATHS + ../../../3rdparty/sqlite ) qt_internal_extend_target(QSQLiteDriverPlugin CONDITION CMAKE_BUILD_TYPE STREQUAL Release AND NOT QT_FEATURE_system_sqlite diff --git a/src/testlib/CMakeLists.txt b/src/testlib/CMakeLists.txt index 76643671617..944bd9876d3 100644 --- a/src/testlib/CMakeLists.txt +++ b/src/testlib/CMakeLists.txt @@ -78,6 +78,8 @@ qt_internal_add_module(Test Qt::Core PRIVATE_MODULE_INTERFACE Qt::CorePrivate + ATTRIBUTION_FILE_DIR_PATHS + 3rdparty ) if(TARGET Gui) diff --git a/src/tools/bootstrap/CMakeLists.txt b/src/tools/bootstrap/CMakeLists.txt index 93e826fa224..ad95d77d00e 100644 --- a/src/tools/bootstrap/CMakeLists.txt +++ b/src/tools/bootstrap/CMakeLists.txt @@ -8,6 +8,10 @@ # The bootstrap library has a few manual tweaks compared to other # libraries. qt_add_library(Bootstrap STATIC) +qt_internal_add_sbom(Bootstrap + TYPE QT_MODULE + NO_INSTALL +) qt_internal_add_sync_header_dependencies(Bootstrap Core) @@ -199,6 +203,8 @@ qt_internal_extend_target(Bootstrap CONDITION CMAKE_CROSSCOMPILING OR NOT QT_FEA PCRE2_DISABLE_JIT PUBLIC_INCLUDE_DIRECTORIES $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/pcre2/src> + ATTRIBUTION_FILE_DIR_PATHS + ../../3rdparty/pcre2 ) qt_internal_extend_target(Bootstrap diff --git a/src/tools/moc/CMakeLists.txt b/src/tools/moc/CMakeLists.txt index b98b7ab4e9b..14fc9762a5f 100644 --- a/src/tools/moc/CMakeLists.txt +++ b/src/tools/moc/CMakeLists.txt @@ -38,6 +38,16 @@ qt_internal_add_tool(${target_name} ) qt_internal_return_unless_building_tools() +qt_internal_extend_sbom(${target_name} + COPYRIGHTS + "Copyright (C) 2013 Olivier Goffart <[email protected]>" + "Copyright (C) 2014 Olivier Goffart <[email protected]>" + "Copyright (C) 2016 Intel Corporation." + "Copyright (C) 2018 Intel Corporation." + "Copyright (C) 2018 The Qt Company Ltd." + "Copyright (C) 2019 Olivier Goffart <[email protected]>" +) + ## Scopes: ##################################################################### |