Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Qt Lite and configuration changes in Qt 5.8

So allegedly, the configuration tool for Qt went through some changes, necessary to be able to make more streamlined Qt builds, a.k.a "Qt Lite". However, there doesn't seem to be any documentation about how to use that feature, or at least I don't find any, and looking at the comments from the release announcement, others can't neither.

What's more, the changes are definitely in there, judging by the fact that the configuration that I've been using for the last couple of years fails in a bunch of ways. I am not sure how up-to-date the built in help is, since the last time I tried using it for guidance, it turned out it was largely outdated and contained options that were no longer supported.

So it would be nice if someone could shed some light on what has changed and how, and how to configure for "Lite" builds. And especially on module and feature dependencies, because I think we'd all like to avoid wasting time on builds that will start building despite an improper configuration that omits necessary dependencies just to have it inevitably fail and result in nothing but a waste of time.

like image 352
dtech Avatar asked Jan 23 '17 17:01

dtech


2 Answers

Per to the changelog:

  • The configuration system has been rewritten almost from scratch. This improved the consistency between builds on Unix and Windows, but some subtle unintended behavior changes are also possible. Also, some obsolete options have been entirely removed and will now cause errors.
  • It is not permissible any more to manually #define QT_NO_ anywhere. Instead, configure's -no-feature-* options must be used. Note that this does not apply to defines which modify behavior rather than entirely removing features.
  • The -no-feature-* option family was integrated with the rest of the configuration system. Numerous existing features were made optional, and build problems in various reduced configurations were fixed. This is an ongoing effort known as "Qt Lite".

Features for -no-feature-* lists are in qtbase\src\corelib\global\qfeatures.txt.

All features are enabled by default.

More information can be found in the Qt Lite Overview Presentation and its slides.

You can also use the new UI Tool which is known as Qt Configuration Tool and which is a part of Qt for Embedded Devices package - see its documentation. The configuration tool is available for commercial Qt customers only at the moment (Qt 5.8).

like image 160
crackedmind Avatar answered Sep 21 '22 13:09

crackedmind


The changes that are behind my failed configuration:

  • there is no longer the option to specify whether sql support is built-in or plug-in, so the format is now just -sql-<driver>, the documentation is still not updated and lists the old format - -<option>-sql-<driver>.

  • the -l option to add a specific library has been removed, which is turning out to be problematic in multiple areas.

Edit: Also, this blog entry just posted on doing lite builds might be useful.

like image 35
dtech Avatar answered Sep 21 '22 13:09

dtech