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 <Oleksii.Zbykovskyi@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
Alexandru Croitor 2025-08-15 19:03:48 +02:00
parent 2ce6fd48e0
commit 253a7f95bc
9 changed files with 150 additions and 117 deletions

View File

@ -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")

View File

@ -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")

View File

@ -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()

View File

@ -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()

View File

@ -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()

View File

@ -10,18 +10,21 @@ qt_add_library(gui_snippets OBJECT
polygon/polygon.cpp
qimagewriter/main.cpp
qtextobject/textobjectinterface.h
rhioffscreen/main.cpp
textdocument-end/textdocumentendsnippet.cpp
)
target_link_libraries(gui_snippets PRIVATE
Qt::Core
Qt::Gui
Qt::GuiPrivate
)
qt_internal_extend_target(gui_snippets CONDITION QT_FEATURE_widgets
LIBRARIES
if(QT_FEATURE_widgets)
target_link_libraries(gui_snippets PRIVATE
Qt::Widgets
SOURCES
)
target_sources(gui_snippets PRIVATE
draganddrop/dragwidget.cpp
dragging/mainwindow.cpp
droparea/droparea.cpp
@ -50,33 +53,33 @@ qt_internal_extend_target(gui_snippets CONDITION QT_FEATURE_widgets
textdocument-tables/mainwindow.cpp
textdocument-tables/mainwindow.cpp
transform/main.cpp
)
)
endif()
qt_internal_extend_target(gui_snippets
LIBRARIES
Qt::GuiPrivate
SOURCES
rhioffscreen/main.cpp
)
qt_internal_extend_target(gui_snippets CONDITION QT_FEATURE_xml
LIBRARIES
if(QT_FEATURE_xml)
target_link_libraries(gui_snippets PRIVATE
Qt::Xml
SOURCES
)
target_sources(gui_snippets PRIVATE
textblock-fragments/xmlwriter.cpp
)
)
endif()
qt_internal_extend_target(gui_snippets CONDITION QT_FEATURE_printsupport
LIBRARIES
if(QT_FEATURE_printsupport)
target_link_libraries(gui_snippets PRIVATE
Qt::PrintSupport
SOURCES
)
target_sources(gui_snippets PRIVATE
textdocument-printing/mainwindow.cpp
)
)
endif()
qt_internal_extend_target(gui_snippets CONDITION QT_FEATURE_widgets AND QT_FEATURE_clipboard
SOURCES
if(QT_FEATURE_widgets AND QT_FEATURE_clipboard)
target_sources(gui_snippets PRIVATE
clipboard/clipwindow.cpp
)
)
endif()
set_target_properties(gui_snippets PROPERTIES COMPILE_OPTIONS "-w")

View File

@ -36,10 +36,11 @@ target_link_libraries(gui_snippets_code PRIVATE
Qt::Gui
)
qt_internal_extend_target(gui_snippets_code CONDITION QT_FEATURE_widgets
LIBRARIES
if(QT_FEATURE_widgets)
target_link_libraries(gui_snippets_code PRIVATE
Qt::Widgets
SOURCES
)
target_sources(gui_snippets_code PRIVATE
doc_src_coordsys.cpp
doc_src_richtext.cpp
src_gui_image_qicon.cpp
@ -53,19 +54,22 @@ qt_internal_extend_target(gui_snippets_code CONDITION QT_FEATURE_widgets
src_gui_painting_qpainter.cpp
src_gui_text_qsyntaxhighlighter.cpp
src_gui_util_qvalidator.cpp
)
)
endif()
qt_internal_extend_target(gui_snippets_code CONDITION QT_FEATURE_vulkan
SOURCES
if(QT_FEATURE_vulkan)
target_sources(gui_snippets_code PRIVATE
src_gui_vulkan_qvulkanfunctions.cpp
src_gui_vulkan_qvulkaninstance.cpp
src_gui_vulkan_qvulkanwindow.cpp
)
)
endif()
qt_internal_extend_target(gui_snippets_code CONDITION QT_FEATURE_clipboard
SOURCES
if(QT_FEATURE_clipboard)
target_sources(gui_snippets_code PRIVATE
src_gui_kernel_qclipboard.cpp
)
)
endif()
set_target_properties(gui_snippets_code PROPERTIES COMPILE_OPTIONS "-w")

View File

@ -11,18 +11,22 @@ target_link_libraries(testlib_code_snippets PRIVATE
Qt::Test
)
qt_internal_extend_target(testlib_code_snippets CONDITION QT_FEATURE_gui AND QT_FEATURE_sql
SOURCES
if(QT_FEATURE_gui AND QT_FEATURE_sql)
target_sources(testlib_code_snippets PRIVATE
doc_src_qtestlib.cpp
PUBLIC_LIBRARIES
)
target_link_libraries(testlib_code_snippets PUBLIC
Qt::Gui
Qt::Sql
)
)
endif()
qt_internal_extend_target(testlib_code_snippets CONDITION QT_FEATURE_widgets
SOURCES
if(QT_FEATURE_widgets)
target_sources(testlib_code_snippets PRIVATE
doc_src_qtestevent.cpp
doc_src_qtestevent.h
PUBLIC_LIBRARIES
)
target_link_libraries(testlib_code_snippets PUBLIC
Qt::Widgets
)
)
endif()

View File

@ -12,6 +12,7 @@ add_library(widgets_snippets OBJECT
qlistview-dnd/mainwindow.cpp
qlistview-dnd/model.cpp
qlistwidget-dnd/mainwindow.cpp
qrhiwidget/rhiwidgetintro.cpp
qsortfilterproxymodel/main.cpp
qsplashscreen/main.cpp
qstackedlayout/main.cpp
@ -43,50 +44,51 @@ add_library(widgets_snippets OBJECT
target_link_libraries(widgets_snippets PRIVATE
Qt::Core
Qt::Gui
Qt::GuiPrivate
Qt::Widgets
)
qt_internal_extend_target(widgets_snippets
LIBRARIES
Qt::GuiPrivate
SOURCES
qrhiwidget/rhiwidgetintro.cpp
)
qt_internal_extend_target(widgets_snippets CONDITION QT_FEATURE_filedialog
SOURCES
if(QT_FEATURE_filedialog)
target_sources(widgets_snippets PRIVATE
filedialogurls/filedialogurls.cpp
)
)
endif()
qt_internal_extend_target(widgets_snippets CONDITION QT_FEATURE_graphicsview
SOURCES
if(QT_FEATURE_graphicsview)
target_sources(widgets_snippets PRIVATE
graphicssceneadditem/graphicssceneadditemsnippet.cpp
graphicsview/graphicsview_snippet.cpp
)
)
endif()
qt_internal_extend_target(widgets_snippets CONDITION QT_FEATURE_opengl AND QT_FEATURE_printsupport
LIBRARIES
if(QT_FEATURE_opengl AND QT_FEATURE_printsupport)
target_link_libraries(widgets_snippets PRIVATE
Qt::OpenGL
Qt::OpenGLWidgets
Qt::PrintSupport
SOURCES
)
target_sources(widgets_snippets PRIVATE
graphicsview/graphicsview.cpp
)
)
endif()
qt_internal_extend_target(widgets_snippets CONDITION QT_FEATURE_mdiarea
SOURCES
if(QT_FEATURE_mdiarea)
target_sources(widgets_snippets PRIVATE
mdiarea/mdiareasnippets.cpp
)
)
endif()
qt_internal_extend_target(widgets_snippets CONDITION QT_FEATURE_scrollarea
SOURCES
if(QT_FEATURE_scrollarea)
target_sources(widgets_snippets PRIVATE
myscrollarea/myscrollarea.cpp
)
)
endif()
qt_internal_extend_target(widgets_snippets CONDITION QT_FEATURE_spinbox AND QT_FEATURE_itemviews
SOURCES
if(QT_FEATURE_spinbox AND QT_FEATURE_itemviews)
target_sources(widgets_snippets PRIVATE
qitemdelegate/spinbox-delegate.cpp
)
)
endif()
set_target_properties(widgets_snippets PROPERTIES COMPILE_OPTIONS "-w")