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 <[email protected]> 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 > [email protected] > http://lists.qt-project.org/mailman/listinfo/development >
_______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
