[Development] Build system for Qt 6

Kyle Edwards kyle.edwards at kitware.com
Wed Dec 5 22:09:43 CET 2018


Hello everyone,

CMake developer at Kitware here. We are very excited to hear that Qt 6
will be using CMake for its build system.

When KDE switched to CMake in 2006, it was a pivotal moment for us. We
assisted in the process as much as we could and gave guidance in
writing KDE build scripts. In addition, many useful features were added
to CMake, and the effort benefited both projects greatly.

We plan on offering Qt the same level of guidance and support. We will
be here for the Qt community during the transition process. We see that
there has been some concern in this thread about whether or not there
will be support from upstream, but rest assured, the CMake team and
Kitware is ready and eager to help in any way we can. We have already
done some review on the wip/cmake branch (which, by the way, is looking
very good).

Our hope is that the Qt development community will help us find ways to
make CMake even better, perhaps by incorporating some ideas from the
existing build infrastructure. We look forward to your feedback.

Once again, we are excited to see this transition, and we look forward
to working with the Qt community.

Kyle

On Mon, 2018-10-29 at 12:17 +0000, Lars Knoll 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



More information about the Development mailing list