Originally posted by pipe13
View Post
And, at least when CMake is used to drive Ninja, it has the nice property of echoing the failed commandline + errors at the end. This eliminates the need to use a serial build or go searching through a logfile to find the cause of a failed build.
Prior to using CMake, the GNU Make buildsystem I wrote used extensive metaprogramming techniques, to achieve most of the same properties as CMake (e.g. public/private dependencies with public dependencies' include paths being automatically inherited). The advantage being that it's single-pass. The main benefit we got from switching to CMake is that it's standardized and fairly well-documented vs. my ad hoc buildsystem.
Something I wish Ninja would do is record the previous (user + sys) time to perform each step, so that subsequent builds of the same sources could be more optimally scheduled.
Comment