It covers deployment of applications that use Qt and QML modules targeting Windows and macOS, with further platform support added in later Qt versions (Linux and cross-compilation if/when possible).
This is the sore thumb sticking out of our CMake API for QML modules. In order for people to actually use it, we have to make it possible to install their nice new QML modules. So far, this is rather hard.
Installation and deployment of QML modules is complicated. There are auto-generated files, files you only need when using the module in an SDK to develop further modules, files you can skip on "final" deployment where no tool will use the module anymore, and requirements on the directory structure between related modules. It's usually not a matter of "just copy this directory".
Why does this come up now? In Qt5, people have mostly created degenerate modules with important parts missing, exactly because there was no proper build system support. In Qt6, we want to encourage full modules so that at compile time we have full type information for all types in each module. We use this information to compile QML files to C++, for improved performance.
In Qt 6.3 qmlcachegen will be able to compile QML expressions and bindings to C++. It would be a shame if it's held up by the inability to install and deploy QML modules.
This feature slipped from 6.2 to 6.3 already. I would really like to see it in 6.3. So, it's a +1 for the feature freeze exception from me, based on the fact that the most prominent QML-related build system API is barely usable without this feature and it's absence is preventing users from taking advantage of other important features.
best regards, Ulf _______________________________________________ Development mailing list [email protected] https://lists.qt-project.org/listinfo/development
