From 253a7f95bca62760a6beb0acb4eb9966ebbd113e Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Fri, 15 Aug 2025 19:03:48 +0200 Subject: CMake: Don't use private CMake API in doc snippets Private CMake API like qt_internal_extend_target should not be used in public doc snippets. While most of the CMakeLists.txt doc snippets might not appear in the documentation right now, they might in the future (just like the CMake API doc snippets). In addition, using private CMake API for doc snippets targets causes issues with SBOM generation, because the original targets are not created with private API (e.g. qt_internal_add_module vs qt_add_library), and thus important sbom meta information is missing, causing errors at cmake configure time when sbom generation is enabled. Pick-to: 6.8 6.9 6.10 Change-Id: I2ef80f617ba8b745520408d22dd2e6be5ee4c5e0 Reviewed-by: Oleksii Zbykovskyi Reviewed-by: Joerg Bornemann --- src/corelib/doc/snippets/CMakeLists.txt | 36 ++++++++-------- src/corelib/doc/snippets/code/CMakeLists.txt | 48 +++++++++++++--------- .../doc/snippets/eventfilters/CMakeLists.txt | 20 +++++---- .../snippets/qmetaobject-invokable/CMakeLists.txt | 10 +++-- .../snippets/qmetaobject-revision/CMakeLists.txt | 10 +++-- 5 files changed, 72 insertions(+), 52 deletions(-) (limited to 'src/corelib/doc/snippets') diff --git a/src/corelib/doc/snippets/CMakeLists.txt b/src/corelib/doc/snippets/CMakeLists.txt index 90f80ee6575..5521bf1f651 100644 --- a/src/corelib/doc/snippets/CMakeLists.txt +++ b/src/corelib/doc/snippets/CMakeLists.txt @@ -29,22 +29,23 @@ target_link_libraries(corelib_snippets PRIVATE Qt::Core ) -qt_internal_extend_target(corelib_snippets CONDITION QT_FEATURE_process - SOURCES +if(QT_FEATURE_process) + target_sources(corelib_snippets PRIVATE process/process.cpp -) + ) +endif() -qt_internal_extend_target(corelib_snippets - CONDITION - QT_FEATURE_process AND QT_FEATURE_processenvironment - SOURCES +if(QT_FEATURE_process AND QT_FEATURE_processenvironment) + target_sources(corelib_snippets PRIVATE qprocess-environment/main.cpp -) + ) +endif() -qt_internal_extend_target(corelib_snippets CONDITION QT_FEATURE_widgets - LIBRARIES +if(QT_FEATURE_widgets) + target_link_libraries(corelib_snippets PRIVATE Qt::Widgets - SOURCES + ) + target_sources(corelib_snippets PRIVATE events/events.cpp hellotrmain.cpp fileinfo/main.cpp @@ -54,15 +55,18 @@ qt_internal_extend_target(corelib_snippets CONDITION QT_FEATURE_widgets qstring/main.cpp qtcast/qtcast.cpp settings/settings.cpp -) + ) +endif() -qt_internal_extend_target(corelib_snippets CONDITION QT_FEATURE_gui - LIBRARIES +if(QT_FEATURE_gui) + target_link_libraries(corelib_snippets PRIVATE Qt::Gui - SOURCES + ) + target_sources(corelib_snippets PRIVATE buffer/buffer.cpp qdebug/qdebugsnippet.cpp -) + ) +endif() set_target_properties(corelib_snippets PROPERTIES COMPILE_OPTIONS "-w") diff --git a/src/corelib/doc/snippets/code/CMakeLists.txt b/src/corelib/doc/snippets/code/CMakeLists.txt index 64abd1def67..402d20cfe7b 100644 --- a/src/corelib/doc/snippets/code/CMakeLists.txt +++ b/src/corelib/doc/snippets/code/CMakeLists.txt @@ -102,47 +102,55 @@ target_link_libraries(corelib_snippets_code PRIVATE Qt::Core ) -qt_internal_extend_target(corelib_snippets_code CONDITION APPLE - SOURCES +if(APPLE) + target_sources(corelib_snippets_code PRIVATE src_corelib_kernel_qabstractnativeeventfilter.mm -) + ) +endif() -qt_internal_extend_target(corelib_snippets_code CONDITION QT_FEATURE_process - SOURCES +if(QT_FEATURE_process) + target_sources(corelib_snippets_code PRIVATE src_corelib_io_qiodevice.cpp src_corelib_io_qprocess.cpp -) + ) +endif() -qt_internal_extend_target(corelib_snippets_code CONDITION QT_FEATURE_widgets - LIBRARIES +if(QT_FEATURE_widgets) + target_link_libraries(corelib_snippets_code PRIVATE Qt::Widgets - SOURCES + ) + target_sources(corelib_snippets_code PRIVATE doc_src_objecttrees.cpp src_corelib_animation_qpropertyanimation.cpp src_corelib_global_qglobal_widgets.cpp src_corelib_kernel_qobject.cpp src_corelib_kernel_qtimer.cpp src_corelib_tools_qtimeline.cpp -) + ) +endif() -qt_internal_extend_target(corelib_snippets_code CONDITION QT_FEATURE_gui - LIBRARIES +if(QT_FEATURE_gui) + target_link_libraries(corelib_snippets_code PRIVATE Qt::Gui -) + ) +endif() -qt_internal_extend_target(corelib_snippets_code CONDITION QT_FEATURE_concurrent - LIBRARIES +if(QT_FEATURE_concurrent) + target_link_libraries(corelib_snippets_code PRIVATE Qt::Concurrent - SOURCES + ) + target_sources(corelib_snippets_code PRIVATE src_corelib_thread_qexception.cpp src_corelib_thread_qfuture.cpp src_corelib_thread_qfuturesynchronizer.cpp src_corelib_thread_qfuturewatcher.cpp -) + ) +endif() -qt_internal_extend_target(corelib_snippets_code CONDITION QT_FEATURE_network - LIBRARIES +if(QT_FEATURE_network) + target_link_libraries(corelib_snippets_code PRIVATE Qt::Network -) + ) +endif() set_target_properties(corelib_snippets_code PROPERTIES COMPILE_OPTIONS "-w") diff --git a/src/corelib/doc/snippets/eventfilters/CMakeLists.txt b/src/corelib/doc/snippets/eventfilters/CMakeLists.txt index 7da83cbdf6e..d9941a5ec96 100644 --- a/src/corelib/doc/snippets/eventfilters/CMakeLists.txt +++ b/src/corelib/doc/snippets/eventfilters/CMakeLists.txt @@ -6,16 +6,20 @@ target_link_libraries(corelib_snippets_eventfilters PRIVATE Qt::Core ) -qt_internal_extend_target(corelib_snippets_eventfilters CONDITION QT_FEATURE_widgets - LIBRARIES +if(QT_FEATURE_widgets) + target_link_libraries(corelib_snippets_eventfilters PRIVATE Qt::Widgets - SOURCE + ) + target_sources(corelib_snippets_eventfilters PRIVATE main.cpp -) + ) +endif() -qt_internal_extend_target(corelib_snippets_eventfilters CONDITION QT_FEATURE_gui - LIBRARIES +if(QT_FEATURE_gui) + target_link_libraries(corelib_snippets_eventfilters PRIVATE Qt::Gui - SOURCES + ) + target_sources(corelib_snippets_eventfilters PRIVATE filterobject.cpp -) + ) +endif() diff --git a/src/corelib/doc/snippets/qmetaobject-invokable/CMakeLists.txt b/src/corelib/doc/snippets/qmetaobject-invokable/CMakeLists.txt index 972bf43d9b1..80fff7820ca 100644 --- a/src/corelib/doc/snippets/qmetaobject-invokable/CMakeLists.txt +++ b/src/corelib/doc/snippets/qmetaobject-invokable/CMakeLists.txt @@ -10,10 +10,12 @@ target_link_libraries(corelib_snippets_qmetaobject-invokable PRIVATE Qt::Core ) -qt_internal_extend_target(corelib_snippets_qmetaobject-invokable CONDITION QT_FEATURE_widgets - LIBRARIES +if(QT_FEATURE_widgets) + target_link_libraries(corelib_snippets_qmetaobject-invokable PRIVATE Qt::Widgets - SOURCES + ) + target_sources(corelib_snippets_qmetaobject-invokable PRIVATE main.cpp window.cpp -) + ) +endif() diff --git a/src/corelib/doc/snippets/qmetaobject-revision/CMakeLists.txt b/src/corelib/doc/snippets/qmetaobject-revision/CMakeLists.txt index 369b2e15315..72b0201447d 100644 --- a/src/corelib/doc/snippets/qmetaobject-revision/CMakeLists.txt +++ b/src/corelib/doc/snippets/qmetaobject-revision/CMakeLists.txt @@ -10,10 +10,12 @@ target_link_libraries(corelib_snippets_qmetaobject-revision PRIVATE Qt::Core ) -qt_internal_extend_target(corelib_snippets_qmetaobject-revision CONDITION QT_FEATURE_widgets - LIBRARIES +if(QT_FEATURE_widgets) + target_link_libraries(corelib_snippets_qmetaobject-revision PRIVATE Qt::Widgets - SOURCES + ) + target_sources(corelib_snippets_qmetaobject-revision PRIVATE main.cpp window.cpp -) + ) +endif() -- cgit v1.2.3