[Development] Qt 6 buildsystem support requirements

Thiago Macieira thiago.macieira at intel.com
Sun Jul 22 22:18:05 CEST 2018


On Sunday, 22 July 2018 10:34:13 PDT Tobias Hunger wrote:
> > "More than one" would be quite a challenge.
>
> We can not expect people to drop their preferred set of tools to work on
> Qt. That is a sure-fire way to reduce contributions from outside of our
> core community.

Sure, but we compare that to status quo: what is the support out there for 
qmake?

The only IDEs that support it natively are Qt Creator and KDevelop. For Visual 
Studio and for XCode, qmake itself creates the export, so the tool we choose 
could do the same.

> >  B) Should be easy to hook in static and dynamic code analyzer tools
> > 
> > Can you elaborate?
> 
> Most build tools offer to create a build_commands.json file so that some of
> the clang tools can be used easily. I expect that from any build tool
> nowadays.
> 
> Meson offers a "build with address sanitisation" option (and similar ones
> for UBSAN, etc.) that can just turn on for your project. I would love that,
> but at the very least compiler-based tools like ASAN and UBSAN should be
> easy to enable with good documentation on how to do so.

Any build tool MUST have a way for the caller to pass override C and C++ 
flags. Full stop, no exceptions.[*]

Given that, I don't see why the tool must have special support for those 
compilation flags. It's a nice-to-have, though. Similarly, it's a very nice to 
have a way to specify which C++ language edition you want, whether you want 
exceptions and/or RTTI enabled, whether you want warnings turned on and off, 
etc.

[*] and a way that isn't unduly difficult to trigger. Counter-example: Qt's 
current buildsystem. Look at this build logs:
https://build.opensuse.org/public/build/openSUSE:Factory/standard/x86_64/
libqt5-qtbase/_log
On lines 1056-1059, you see CFLAGS and CXXFLAGS being set. But then if you 
scan forward in the actual build, you don't see any of them applied.
-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center






More information about the Development mailing list