[Development] Build system for Qt 6

Lars Knoll lars.knoll at qt.io
Tue Oct 30 11:42:13 CET 2018


Hi Christian,

> On 30 Oct 2018, at 05:00, Christian Gagneraud <chgans at gmail.com> wrote:
> 
> On Tue, 30 Oct 2018 at 01:17, Lars Knoll <lars.knoll at qt.io> wrote:
>> 
>> Hi all,
> 
> Hi Lars,
> 
> Playing the devil's advocate here.
> 
> May I ask: Which democratic/meritocratic  process was used to take
> this decision?
> I do understand that the QtC is the Qbs instigator/maintainer, so
> nobody can blame you for pulling the plug off and adjusting resources
> allocation.
> 
> Who/when/where was the decision of switching to CMake taken?
> Any trace record? A vote, a ballot, something? I havent's hear of any
> "Qt Project" event/announcement recently.
> So far i've seen some broad (but useful) un-authoritative requirements
> from Thiago,
> followed by a lengthy (endless) discussion, and suddenly your email
> that seems to announce the result of the "election".
> When did the election happened?
> 
> So some claims that build systems are no "The Qt Company" business,
> yet you're about to take the road of having to bend a dinosaur (CMake,
> that's a personal opinion) to suit your modern requirements.
> Are you planning to have Qt employees fix CMake?
> 
> Then why spend energy/money to fix something that is broken by design?
> (Again, that is a personal opinion, if needed to say)

As I said in my email, I unfortunately don’t see a way how The Qt Company can push Qbs forward. It was a difficult decision because I very much like the ideas and the technology used in Qbs.

From the perspective of a company, we have to justify investments we do, and they have to make sense not only from a perspective of being cool technology, but also how they can in the end generate business for us. In addition, there’s always the question, what we then can’t do (because the total money we can invest in R&D is limited). 

Looking at the fact, that we can’t earn money on a build system and that it would require quite a lot of funding to make it more than a niche product it doesn’t make sense to pursue it further. Instead we would rather use the money to improve Qt and Qt Creator.

We had consensus amongst the maintainers that we want to move away from qmake, the two options being Qbs and CMake. Using CMake to build Qt is then a mostly pragmatic move. With it we don’t need to maintain the build tool ourselves, and we use a tool that already has wide support for most of what we need. This is then about minimising our work maintaining a system to build Qt itself. And the wip/cmake branch shows that this can be done without having ’to bend a dinosaur’.

> 
> No conspiracy here, but i have a few more questions (not related, in
> no particular order)
> - Did Jake left the QtC due to your early decision to drop qbs? ( I
> personally do think that the decision was taken long time ago)

The decision to not continue to develop Qbs was done very recently. It doesn’t make sense to make a decision and then not take actions. Whatever the reasons Jake left, they have nothing to do with this.

> - Did you drop Qbs due to it's "unsolvable" dependency on deprecated Qt Script?

Huh? There’s no such thing as an ‘unsolvable’ dependency here. But of course any changes to a product involve work. More for some things, less for others.

> - Any track record that Qbs was not fit for the job? (Please no "we
> can't build Qt with it", as you cannot build Qt with anything but
> qmake right now)

No, of course one could have made it support building Qt. There were some missing items like the configuration system and some other things, all of those could of course have been implemented.

Cheers,
Lars



More information about the Development mailing list