[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