> On Mar 18, 2017, at 7:33 PM, Kuba Ober <[email protected]> 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 > [email protected] > http://lists.qt-project.org/mailman/listinfo/development -- Jake Petroules - [email protected] The Qt Company - Silicon Valley Qbs build tool evangelist - qbs.io _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
