[Development] syncqt.pl in C++
Jake.Petroules at qt.io
Sun Mar 19 03:43:55 CET 2017
> On Mar 18, 2017, at 7:33 PM, Kuba Ober <kuba at mareimbrium.org> wrote:
> cmake is a "build system" in the same sense as qmake is: it only generates output for the real build tool to deal with. Of this, in practice, ninja is the only tool that won't make you grow white hair waiting for it to finish. And even then, this presents an impedance mismatch between the abstract notion of a dependency as an arrow in a graph, and of the abstract nodes of this graph, and the concrete constraint of a file that make and ninja deal with organically.
> This leaves qbs and scons as the only contenders that let you use abstract dependencies and also the building themselves. I used scons a very long while ago and it was abysmally slow by design. I don't expect anything has changed there - not without a complete rearchitecting at least. So, as far as a build system that is fast and integrates a sane programming environment goes, qbs seems to be it.
> The other elephant in cmake's room is that the documentation provides nowhere nearly enough information to use it productively past trivial examples or to even develop for it well. I have to constantly refer to the source of various cmake modules to figure out how to use them beyond the simplest of ways and how to work around their shortcomings.
> Reading everything published about cmake, it seems like there is no single person who has a full knowledge of how this thing was meant to be implemented and used. Thus the preferred idioms evolve, diverge and merge all the time, and judging by the code of the modules there seems to be no consensus as to how to do almost anything. Reinventing the wheel runs rampant and ad-hoc solutions that are work arounds for design shortcomings are many. That this tool is considered to be the state of the art is lamentable at best. We all know it can and should be done better.
> That's my 2c from a user perspective.
About time we see a well thought out and realistic posting on this subject. Thank you for your input.
> Cheers, Kuba
> Development mailing list
> Development at qt-project.org
Jake Petroules - jake.petroules at qt.io
The Qt Company - Silicon Valley
Qbs build tool evangelist - qbs.io
More information about the Development