[Development] Qt 6 buildsystem support requirements

Thiago Macieira thiago.macieira at intel.com
Fri Aug 3 16:44:40 CEST 2018


On Thursday, 2 August 2018 23:42:08 PDT BogDan Vatra via Development wrote:
> Sorry it's kinda off-topic. What I wanted to say is for Qt 6 to have a new
> SDK folders layout. Now each Qt target goes into a separate folder, but the
> bin, include (except a few files), doc, mkspecs, etc. folders are the same.
> The only platform-dependent folders are lib, plugins and qml.
> So, instead of:

We're actually going to get the bin dir shared if we start using the host 
tooling to build a cross-compiled Qt and cross-compiled application. 

Sharing the includes is possible, but tricky, like you said, because of the 
config files that do change across builds. So we'd need two sets of -I flags: 
one for cross-platform includes and one for the platform-dependent ones. 
Because of that, I don't see us doing this.

> we'll have:
> 
> ~/Qt
>     /6.0.0
>       /bin
>       /include
>       /lib
>          /android_armv7 <-- here goes android armv7 libs
>             /include <-- here goes only android specific headers
>         /gcc_64 <-- here goes linux amd64 libs
>            /include <-- here goes only  linux 64 specific headers

Like you're suggesting. But the includes are hardly a disk space hog...

Wait, I take that back. After checking my installed build, it turns out that 
the headers are a full fifth of the installed size (I don't build qtwebkit or 
qtwebengine).

It might be interesting to explore this, but it would be just a "nice to 
have".

Also note that QML files are usually cross-platform too and could be shared. 
Any non-cross-platform QML file should be selected by the source via 
QFileSelector. Plugins, however, are arch-dependent and should live in an 
arch-dependent dir. That would mean splitting the "qml" dir in two:

	<prefix>/lib/qml
	<prefix>/share/qml

I don't see us spending the effort...

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center






More information about the Development mailing list