> On 14. Jul 2022, at 17:04, Thiago Macieira <thiago.macie...@intel.com> wrote:
> 
> Thank you for sending this, Volker. As Alexandru reminds us, this is not a 
> new 
> discussion. We had planned on doing this for 6.0, but didn't get it all the 
> way to the end. Does anyone have a conclusion of why we didn't do it for 6.0? 
> Was it only lack of time, or did we try and come to difficult problems? If 
> so, 
> can you summarise what they were?

I don't remember the ultimate reason, but I remember one of them. Convenience, 
and by extension, maintenance overhead.

If the 3rd party libraries don't come with Qt, you need to get them from 
somewhere.

That's relatively easy on Linux with distro-provided libraries.

On macOS there is brew, but the libraries there are not suitable for 
deployment, they set the deployment target to the host os version, which is too 
new for Qt.

On Windows there is no de-facto 3rd party library manager afaik. Which means Qt 
would need to recommend some tool. I think this would apply to macOS too.

Regardless of the recommended tool (conan, vcpkg, whatever), this would be an 
extra tool that Qt users / customers would need to install, learn, use. The 
barrier for building Qt gets higher on Windows / macOS.

I don't think not recommending anything, and saying "it's your problem to find 
and build the libraries" is an option.

And by extension comes the Qt developer maintenance overhead of using such a 
tool.

Whichever tool we recommend, we'll likely need to fork the recipe repository 
and possibly mirror the sources. For multiple reasons: patching (where needed, 
e.g. support an unsupported platform), availability (not depend on other's 
infrastructure), stability (updates don't fail Qt builds).
Plus trying to catch up with security updates.

Even if we do all that, and Qt developers accept the cost, that's still one 
more tool users need to use. First use this tool to install dependencies (vcpkg 
install / conan install / foo install), then use a different process to build 
qt (configure, ninja install).

An extra maintenance hurdle will be ensuring these tools work fine for 
non-desktop, non-yocto platforms. I'm not sure if QNX / integrity have some 
de-facto accepted way of getting 3rd party libraries, maybe they are always 
used in a yocto context, so the tool would not be needed in that case.

Also, if we're talking about binary releases, then there's the breaking 
deployment scripts argument that Kai mentioned, now that extra .dll / .so files 
need will have to be distributed.
_______________________________________________
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to