[Development] Feature freeze exception for QTBUG-98545

Ulf Hermann ulf.hermann at qt.io
Thu Dec 9 09:54:06 CET 2021


> 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


More information about the Development mailing list