Details
-
User Story
-
Resolution: Out of scope
-
P2: Important
-
None
-
5.13.0
-
None
Description
We should move the tooling related parts that we currently place inside QT_INSTALL_QML into a parallel directory called QT_INSTALL_QML_TOOLING.
QT_INSTALL_QML is the directory where QML imports are looked up. It is used by
1. QML runtime to locate QML imports:
- qmldir
- optional: library (.dll, .so files)
- optional: QML files, resources
2. Qt Creator to look up metadata about QML imports:
- qmldir
- plugins.qmltypes
- optional: QML files, resources
3. Qt Quick Designer / Qt Design Studio
- qmldir (designerenabled attribute)
- designer subdirectory
This is convenient, but mixes things that are only needed at runtime with things that are needed for the tooling. In particular, it confuses people on which files they really need to ship.
Instead, we should aim for making a clear separation between files only used in the tooling (plugins.qmltypes, designer subdirectory), and files only used at runtime (libraries) by placing them in separate directory hierarchies.
Files with common use cases can either be split up (qmldir), or optionally looked up in both places by the tooling (.qml files + resources).
This would require changes both in Qt, as well as in the tooling:
Qt
- Adding QT_INSTALL_QML_TOOLING setting to qmake
- Adding QLibraryInfo::QmlToolingPath to QtCore (TODO: Is this really needed?)
- Adaptations in qmldir parser
- Adaptations in qml_plugin.prf
Qt Creator
- Lookups have to be extended
Qt Quick Design Studio
- Lookups have to be extended
Attachments
Issue Links
- resulted from
-
QTBUG-67644 QtQuick.Controls.Styles does not have plugins.qmltypes and qmldir with static builds
- Closed