Details
-
Bug
-
Resolution: Done
-
P2: Important
-
6.2.0
-
None
-
2a664028a9cbbd94f87646b609d5aad7b781d792 (qt/qtdeclarative/dev) 9fc302e6d146878103b3d105dce49c7695fcf93a (qt/qtdeclarative/dev) 13bf176006d293a9cad337be16f134428e85699d (qt/qtdeclarative/6.2) 7c9368164c152bf3ff540d5384e557aed02fd238 (qt/qtdeclarative/6.2)
Description
first of all, many thanks for the work put into the qml/cmake tooling. trying to replace the use of the import scanner by linking qml plugin targets directly still does not work out of the box for me: then a qml plugin depends on another qml plugin, it will not "link" the object libraries containing the init code for the dependent qml plugins (it *does* however link with the object libraries containing the resources).
simple reproducer:
add_executable(ttt x.cpp) target_link_libraries(ttt PUBLIC Qt6::qtquickcontrols2plugin)
the target will link `QuickControls2Impl_resources_1/.rcc/qrc_qmake_QtQuick_Controls_impl.cpp.o`, but it won't link `qtquickcontrols2implplugin_init.cpp.o`
full linker command line below:
/Applications/Xcode13.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -Wdelete-non-virtual-dtor -Wdeprecated-writable-strings -Wmissing-braces -Wreturn-type -Wshorten-64-to-32 -Wsign-compare -Wunused-parameter -Wunused-private-field -Wunused-variable -Werror=unguarded-availability -Wno-error=parentheses -Wno-overloaded-virtual -Wno-reorder -Wno-unused-function -fcolor-diagnostics -fpascal-strings -g -arch x86_64 -isysroot /Applications/Xcode13.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk -mmacosx-version-min=10.14 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -dead_strip -Wl,-dead_strip demos/odr-client/CMakeFiles/ttt.dir/x.cpp.o -o demos/odr-client/ttt /QTPATH/./qml/QtQuick/Controls/objects-Debug/qtquickcontrols2plugin_init/qtquickcontrols2plugin_init.cpp.o /QTPATH/./qml/QtQml/objects-Debug/Qml_resources_1/.rcc/qrc_qmake_QtQml.cpp.o /QTPATH/./qml/QtQuick/Controls/objects-Debug/QuickControls2_resources_1/.rcc/qrc_qmake_QtQuick_Controls.cpp.o /QTPATH/./qml/QtQuick/objects-Debug/qtquick2plugin_init/qtquick2plugin_init.cpp.o /QTPATH/./qml/QtQml/Models/objects-Debug/modelsplugin_init/modelsplugin_init.cpp.o /QTPATH/./qml/QtQml/objects-Debug/qmlplugin_init/qmlplugin_init.cpp.o /QTPATH/./qml/QtQuick/Templates/objects-Debug/qtquicktemplates2plugin_init/qtquicktemplates2plugin_init.cpp.o /QTPATH/./plugins/qmltooling/objects-Debug/QDebugMessageServiceFactoryPlugin_init/QDebugMessageServiceFactoryPlugin_init.cpp.o /QTPATH/./plugins/qmltooling/objects-Debug/QLocalClientConnectionFactoryPlugin_init/QLocalClientConnectionFactoryPlugin_init.cpp.o /QTPATH/./plugins/qmltooling/objects-Debug/QQmlDebugServerFactoryPlugin_init/QQmlDebugServerFactoryPlugin_init.cpp.o /QTPATH/./plugins/qmltooling/objects-Debug/QQmlDebuggerServiceFactoryPlugin_init/QQmlDebuggerServiceFactoryPlugin_init.cpp.o /QTPATH/./plugins/qmltooling/objects-Debug/QQmlInspectorServiceFactoryPlugin_init/QQmlInspectorServiceFactoryPlugin_init.cpp.o /QTPATH/./plugins/qmltooling/objects-Debug/QQmlNativeDebugConnectorFactoryPlugin_init/QQmlNativeDebugConnectorFactoryPlugin_init.cpp.o /QTPATH/./plugins/qmltooling/objects-Debug/QQmlNativeDebugServiceFactoryPlugin_init/QQmlNativeDebugServiceFactoryPlugin_init.cpp.o /QTPATH/./plugins/qmltooling/objects-Debug/QQmlPreviewServiceFactoryPlugin_init/QQmlPreviewServiceFactoryPlugin_init.cpp.o /QTPATH/./plugins/qmltooling/objects-Debug/QQmlProfilerServiceFactoryPlugin_init/QQmlProfilerServiceFactoryPlugin_init.cpp.o /QTPATH/./plugins/qmltooling/objects-Debug/QQuickProfilerAdapterFactoryPlugin_init/QQuickProfilerAdapterFactoryPlugin_init.cpp.o /QTPATH/./plugins/qmltooling/objects-Debug/QTcpServerConnectionFactoryPlugin_init/QTcpServerConnectionFactoryPlugin_init.cpp.o /QTPATH/lib/objects-Debug/Gui_resources_1/.rcc/qrc_qpdf.cpp.o /QTPATH/./qml/QtQuick/objects-Debug/Quick_resources_1/.rcc/qrc_qmake_QtQuick.cpp.o /QTPATH/lib/objects-Debug/Quick_resources_2/.rcc/qrc_scenegraph_shaders.cpp.o /QTPATH/./qml/QtQuick/Controls/impl/objects-Debug/QuickControls2Impl_resources_1/.rcc/qrc_qmake_QtQuick_Controls_impl.cpp.o /QTPATH/./qml/QtQuick/Templates/objects-Debug/QuickTemplates2_resources_1/.rcc/qrc_qmake_QtQuick_Templates.cpp.o /QTPATH/./qml/QtQml/Models/objects-Debug/QmlModels_resources_1/.rcc/qrc_qmake_QtQml_Models.cpp.o /QTPATH/./qml/QtQml/WorkerScript/objects-Debug/workerscriptplugin_init/workerscriptplugin_init.cpp.o /QTPATH/./plugins/networkinformation/objects-Debug/QSCNetworkReachabilityNetworkInformationPlugin_init/QSCNetworkReachabilityNetworkInformationPlugin_init.cpp.o /QTPATH/./plugins/tls/objects-Debug/QSecureTransportBackendPlugin_init/QSecureTransportBackendPlugin_init.cpp.o /QTPATH/lib/objects-Debug/QCocoaIntegrationPlugin_resources_1/.rcc/qrc_qcocoaresources.cpp.o /QTPATH/./plugins/platforms/objects-Debug/QCocoaIntegrationPlugin_init/QCocoaIntegrationPlugin_init.cpp.o /QTPATH/./plugins/imageformats/objects-Debug/QGifPlugin_init/QGifPlugin_init.cpp.o /QTPATH/./plugins/imageformats/objects-Debug/QICNSPlugin_init/QICNSPlugin_init.cpp.o /QTPATH/./plugins/imageformats/objects-Debug/QICOPlugin_init/QICOPlugin_init.cpp.o /QTPATH/./plugins/imageformats/objects-Debug/QJpegPlugin_init/QJpegPlugin_init.cpp.o /QTPATH/./plugins/imageformats/objects-Debug/QMacHeifPlugin_init/QMacHeifPlugin_init.cpp.o /QTPATH/./plugins/imageformats/objects-Debug/QMacJp2Plugin_init/QMacJp2Plugin_init.cpp.o /QTPATH/./plugins/iconengines/objects-Debug/QSvgIconPlugin_init/QSvgIconPlugin_init.cpp.o /QTPATH/./plugins/imageformats/objects-Debug/QSvgPlugin_init/QSvgPlugin_init.cpp.o /QTPATH/./plugins/imageformats/objects-Debug/QTgaPlugin_init/QTgaPlugin_init.cpp.o /QTPATH/./plugins/imageformats/objects-Debug/QTiffPlugin_init/QTiffPlugin_init.cpp.o /QTPATH/./plugins/imageformats/objects-Debug/QWbmpPlugin_init/QWbmpPlugin_init.cpp.o /QTPATH/./plugins/imageformats/objects-Debug/QWebpPlugin_init/QWebpPlugin_init.cpp.o /QTPATH/./qml/QtQml/WorkerScript/objects-Debug/QmlWorkerScript_resources_1/.rcc/qrc_qmake_QtQml_WorkerScript.cpp.o /QTPATH/lib/objects-Debug/Widgets_resources_1/.rcc/qrc_qstyle.cpp.o /QTPATH/lib/objects-Debug/Widgets_resources_2/.rcc/qrc_qstyle1.cpp.o /QTPATH/lib/objects-Debug/Widgets_resources_3/.rcc/qrc_qmessagebox.cpp.o /QTPATH/./plugins/styles/objects-Debug/QMacStylePlugin_init/QMacStylePlugin_init.cpp.o /QTPATH/./qml/QtQuick/Controls/libqtquickcontrols2plugin_debug.a /QTPATH/lib/libQt6QuickControls2Impl_debug.a /QTPATH/lib/libQt6QuickControls2_debug.a /QTPATH/./qml/QtQuick/Templates/libqtquicktemplates2plugin_debug.a /QTPATH/./qml/QtQuick/libqtquick2plugin_debug.a /QTPATH/./qml/QtQml/Models/libmodelsplugin_debug.a /QTPATH/./qml/QtQml/libqmlplugin_debug.a /QTPATH/./qml/QtQml/WorkerScript/libworkerscriptplugin_debug.a /QTPATH/./qml/QtQml/libqmlplugin_debug.a /QTPATH/./qml/QtQml/WorkerScript/libworkerscriptplugin_debug.a /QTPATH/lib/libQt6QmlWorkerScript_debug.a /QTPATH/lib/libQt6QuickTemplates2_debug.a /QTPATH/lib/libQt6Qml_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_messages_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_local_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_server_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_debugger_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_inspector_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_native_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_nativedebugger_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_preview_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_profiler_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_quickprofiler_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_tcp_debug.a /QTPATH/lib/libQt6Quick_debug.a /QTPATH/lib/libQt6QmlModels_debug.a /QTPATH/lib/libQt6Qml_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_messages_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_local_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_server_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_debugger_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_inspector_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_native_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_nativedebugger_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_preview_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_profiler_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_quickprofiler_debug.a /QTPATH/./plugins/qmltooling/libqmldbg_tcp_debug.a /QTPATH/lib/libQt6Quick_debug.a /QTPATH/lib/libQt6QmlModels_debug.a /QTPATH/lib/libQt6PacketProtocol_debug.a /QTPATH/lib/libQt6Network_debug.a /QTPATH/./plugins/networkinformation/libqscnetworkreachability_debug.a /QTPATH/./plugins/tls/libqsecuretransportbackend_debug.a /QTPATH/lib/libQt6Network_debug.a /QTPATH/./plugins/networkinformation/libqscnetworkreachability_debug.a /QTPATH/./plugins/tls/libqsecuretransportbackend_debug.a -framework GSS -framework SystemConfiguration /QTPATH/lib/libQt6OpenGL_debug.a /QTPATH/lib/libQt6Gui_debug.a /QTPATH/./plugins/platforms/libqcocoa_debug.a /QTPATH/./plugins/imageformats/libqgif_debug.a /QTPATH/./plugins/imageformats/libqicns_debug.a /QTPATH/./plugins/imageformats/libqico_debug.a /QTPATH/./plugins/imageformats/libqjpeg_debug.a /QTPATH/./plugins/imageformats/libqmacheif_debug.a /QTPATH/./plugins/imageformats/libqmacjp2_debug.a /QTPATH/./plugins/iconengines/libqsvgicon_debug.a /QTPATH/./plugins/imageformats/libqsvg_debug.a /QTPATH/./plugins/imageformats/libqtga_debug.a /QTPATH/./plugins/imageformats/libqtiff_debug.a /QTPATH/./plugins/imageformats/libqwbmp_debug.a /QTPATH/./plugins/imageformats/libqwebp_debug.a /QTPATH/lib/libQt6Svg_debug.a /QTPATH/lib/libQt6Widgets_debug.a /QTPATH/./plugins/styles/libqmacstyle_debug.a /QTPATH/lib/libQt6Gui_debug.a /QTPATH/./plugins/platforms/libqcocoa_debug.a /QTPATH/./plugins/imageformats/libqgif_debug.a /QTPATH/./plugins/imageformats/libqicns_debug.a /QTPATH/./plugins/imageformats/libqico_debug.a /QTPATH/./plugins/imageformats/libqjpeg_debug.a /QTPATH/./plugins/imageformats/libqmacheif_debug.a /QTPATH/./plugins/imageformats/libqmacjp2_debug.a /QTPATH/./plugins/iconengines/libqsvgicon_debug.a /QTPATH/./plugins/imageformats/libqsvg_debug.a /QTPATH/./plugins/imageformats/libqtga_debug.a /QTPATH/./plugins/imageformats/libqtiff_debug.a /QTPATH/./plugins/imageformats/libqwbmp_debug.a /QTPATH/./plugins/imageformats/libqwebp_debug.a /QTPATH/lib/libQt6Svg_debug.a /QTPATH/lib/libQt6Widgets_debug.a /QTPATH/./plugins/styles/libqmacstyle_debug.a -framework OpenGL -framework AGL -framework CoreText /3RDPART_PATH/libpng-1.6.23-R5/lib/osx/libpng-ni.a /Applications/Xcode13.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/lib/libz.tbd /QTPATH/lib/libQt6BundledHarfbuzz_debug.a /3RDPART_PATH/freetype-2.8-R8/lib/osx/libfreetype-ni.a /QTPATH/lib/libQt6DBus_debug.a -framework Carbon -framework CoreVideo -framework IOSurface -framework Metal -framework QuartzCore /3RDPART_PATH/libjpeg-9a-R9/lib/osx/libjpeg-ni.a -framework ImageIO -framework CoreGraphics -lz /QTPATH/lib/libQt6Core_debug.a -framework CoreFoundation -framework Foundation -framework DiskArbitration -framework IOKit -framework AppKit -framework ApplicationServices -framework CoreServices -framework Security -lz -lm /QTPATH/lib/libQt6BundledPcre2_debug.a
Attachments
Issue Links
- relates to
-
QTBUG-92933 Rework automatic static plugin linkage
- Closed
- resulted in
-
QTBUG-97478 Configuring CMake based application with QtQuick fails
- Closed
For Gerrit Dashboard: QTBUG-97099 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
375240,5 | CMake: Walk plugin private deps for computed static qml plugin deps | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
375426,1 | WIP: CMake: qqc2 gallery required plugins for manual linking | dev | qt/qtdeclarative | Status: DEFERRED | -2 | 0 |
375467,4 | CMake: Special case qqc2 style plugin static plugin dependencies | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
375693,2 | CMake: Walk plugin private deps for computed static qml plugin deps | 6.2 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
375694,2 | CMake: Special case qqc2 style plugin static plugin dependencies | 6.2 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
376620,5 | CMake: Postpone target existence check for qml plugin targets | dev | qt/qtbase | Status: MERGED | +2 | 0 |
376950,2 | CMake: Postpone target existence check for qml plugin targets | 6.2 | qt/qtbase | Status: MERGED | +2 | 0 |
376951,2 | CMake: Postpone target existence check for qml plugin targets | 6.2.1 | qt/qtbase | Status: MERGED | +2 | 0 |