Details
-
Bug
-
Resolution: Done
-
Not Evaluated
-
Qt Creator 5.0.0-beta1
-
None
-
f43ac65ccb0be1b34cc6a31906a677ab0e07efa6 (qt-creator/qt-creator/5.0)
Description
When configuring Qt Creator against Qt Qt 6.2+ without any of Tracing/QmlProfiler/PerfProfiler, the build breaks like so:
AutoMoc subprocess error ------------------------ The moc process failed to compile "SRC:/src/plugins/qmlprofiler/qmlprofilerplugin.h" into "BIN:/src/plugins/qmlprofiler/QmlProfiler_autogen/EWIEGA46WW/moc_qmlprofilerplugin.cpp" Command ------- C:/Users/alportal/dev/qt6_desktop/qtbase/bin/moc.exe -DQT_CORE_LIB -DQT_NETWORK_LIB -DQT_QML_LIB -DUNICODE -DWIN32 -DWIN64 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_UNICODE -D_WIN64 -IC:/Users/alportal/dev/build-qt-creator-qt6-Qt_6_2_0_qt6_desktop_minimal-Debug/src/plugins/qmlprofiler -IC:/Users/alportal/dev/qt-creator-qt6/src/plugins/qmlprofiler -IC:/Users/alportal/dev/qt6_desktop/qtdeclarative/src/qml -IC:/Users/alportal/dev/qt6_desktop/qtbase/include/QtQml/6.2.0 -IC:/Users/alportal/dev/qt6_desktop/qtbase/include/QtQml/6.2.0/QtQml -IC:/Users/alportal/dev/qt6_desktop/qtbase/src/corelib -IC:/Users/alportal/dev/qt6_desktop/qtbase/include/QtCore/6.2.0 -IC:/Users/alportal/dev/qt6_desktop/qtbase/include/QtCore/6.2.0/QtCore -IC:/Users/alportal/dev/qt6_desktop/qtbase/include -IC:/Users/alportal/dev/qt6_desktop/qtbase/include/QtCore -IC:/Users/alportal/dev/qt6_desktop/qtbase/mkspecs/win32-msvc -IC:/Users/alportal/dev/qt6_desktop/qtbase/include/QtQml -IC:/Users/alportal/dev/qt6_desktop/qtbase/include/QtNetwork --output-json --output-dep-file -o C:/Users/alportal/dev/build-qt-creator-qt6-Qt_6_2_0_qt6_desktop_minimal-Debug/src/plugins/qmlprofiler/QmlProfiler_autogen/EWIEGA46WW/moc_qmlprofilerplugin.cpp C:/Users/alportal/dev/qt-creator-qt6/src/plugins/qmlprofiler/qmlprofilerplugin.h Output ------ C:/Users/alportal/dev/qt-creator-qt6/src/plugins/qmlprofiler/qmlprofilerplugin.h(38:1): error: Plugin Metadata file "QmlProfiler.json" does not exist. Declaration will be ignored
The reason is that qt_add_qml_module() will create a target if the passed target does not exist (for example because it was disabled in the configuration). That created target does not build by itself.