[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