[Development] Qt 6 buildsystem support requirements

Lars Knoll lars.knoll at qt.io
Thu Aug 2 08:49:48 CEST 2018



> On 2 Aug 2018, at 08:13, BogDan Vatra via Development <development at qt-project.org> wrote:
> […]
>  It will be nice if this feature is mandatory for Qt 6, so let's add it to 
> your requirements list.


Let’s be careful not to add too many requirements upfront or we’ll never get anywhere.

For me the hard requirements are:

1. Better maintainability than with qmake. I don’t want things to become more complicated with the new system.

2. Open source and cross-platform. A given.

3. Easy to install, few external dependencies. Can be compiled form source, no circular dependencies (1b and 1c from Thiago, should also solve 1a implicitly)

4. Usable for packagers. But let’s make sure we’re not only looking at Linux distributions, but also macOS (homebrew), Windows (e.g. vcpkg) and the needs we have for our own binary packages.

5. Simple cross-compilation support. What we don’t need is the mixed mode we currently have where we build host and target binaries at the same time. For Qt 6, I’d like to fully separate that, so that a cross build will use the host tools from a previous host build.

6. Decently documented, and there are places where you can get help

7. Good integration with the world around us. That implies that the build system needs to spit out at the minimum the required files so that our users can seamlessly use both qmake and cmake for their own projects. It should also handle things the other way round so that we can depend on other projects that are build using other build systems.

Cheers,
Lars



More information about the Development mailing list