[Development] Build system for Qt 6

Corentin corentin.jabot at gmail.com
Mon Oct 29 17:24:17 CET 2018


Having had the pleasure to use QBS quite extensively (and successfully) in
the past, I would like to thank the QBS team and contributors for showing
us what a sane, modern build system could look like.
So long!

On Mon, 29 Oct 2018 at 13:17 Lars Knoll <lars.knoll at qt.io> wrote:

> Hi all,
>
> As you will probably remember, there have been lively discussions around
> what kind of build tool to use for Qt 6 both during Qt Contributor Summits
> as well as on this mailing list.
>
> There has been a strong consent that we should move away from qmake as our
> build tool for Qt due to many shortcomings and the burden we have
> maintaining the system.
>
> Thiago wrote a set of relatively strict requirements for such a build tool
> in his mail in July. While some of the requirements had a bit of a Linux
> specific background, they have been a good basis.
>
> There have been rather lively discussions around alternatives, but most
> focused around two possible choices for us: Qbs and cmake.
>
> Qbs is something that has been developed almost exclusively by The Qt
> Company. As such, TQtC had to also look at it from a business perspective
> and how it fits into the larger picture of making Qt successful. To make a
> long story short, while Qbs is pretty cool and interesting technology, it
> doesn’t really help us expand the Qt ecosystem and usage.
>
> To make Qbs really successful would require a rather large effort and
> investment in promoting it towards the larger C++ ecosystem as a new build
> tool. At the same time it has to be an open source product to stand any
> chance in the market. Together this makes it challenging for TQtC to see
> how to recover that investment. Thus this investment would be at the
> expense of other things we’d like to do, like improving our IDE, working on
> rearchitecting and cleaning up our core frameworks for Qt 6 or the design
> tooling we are currently investing into. The Qt Company believes that those
> other investments are more important for the future of Qt than our choice
> of build tool.
>
> As such, we were left with the question on whether we need Qbs as the
> build system for Qt 6 or whether cmake (as the other alternative) would be
> up to the task.
>
> Given that background, we’ve done some more research on using both Qbs and
> cmake to build Qt. Both projects did give us good results but we were
> actually surprised on how far we got with cmake in a rather limited period
> of time.
>
> In addition, cmake has the advantage of being very widely used in the C++
> ecosystem (amongst many others by KDE), has a very wide support in many
> IDEs and other tools (e.g. VCPkg, Conan etc.), and there’s a lot of
> knowledge about the build system available in the ecosystem. Using it with
> Qt 6 would also mean that we can focus our support on two build systems for
> our users (qmake and cmake) and we would not have to add a third one to the
> mix.
>
> Given that we are confident we can build Qt 6 with cmake, I believe that
> it makes most sense to follow down that route. In case you’re interested,
> you can have a look at the cmake prototype code for qtbase on Gerrit in the
> wip/cmake branch. Please also let us know if you’re interested in helping
> with the effort of porting Qt’s build system over to cmake.
>
> We have been developing Qbs over the last years, and as such are committed
> to it for some more time. We are planning on another feature release in the
> first quarter of next year and will support it in Qt Creator for at least
> another year. Qbs is open source and if someone wants to take over and
> develop it further let us know as well. I’d also like to use this place to
> thank Christian and Jörg for all their great work on Qbs  (and of course
> also anybody else who contributed to it).
>
> Cheers,
> Lars
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20181029/74d63a1b/attachment.html>


More information about the Development mailing list