If this is designed for generated build files, why isn't it a library? It seems to use files as a shit IPC.
Ninja – A small build system with a focus on speed
11–20 of 30 posts
Re: Ninja – A small build system with a focus on speed
#12Jeez, can't you kids just quit this square-wheel churn and just buckle down and learn to write makefiles? It's really not that hard.
Re: Ninja – A small build system with a focus on speed
#13Re: Ninja – A small build system with a focus on speed
#14If this is designed for generated build files, why isn't it a library? It seems to use files as a shit IPC.
Re: Ninja – A small build system with a focus on speed
#15Jeez, can't you kids just quit this square-wheel churn and just buckle down and learn to write makefiles? It's really not that hard.
Sigh. As far as I can tell ninja is primarily used as a cmake backend. Mostly because the people who wrote cmake never learned to write Makefiles and as a result using ninja with cmake is much faster.
(And yes, part of the reason Ninja succeeded is because it ties the hands of the person generating the files. Make gives people enough rope to hang themselves and they frequently do. From the manual: "To restate, Ninja is faster than other build systems because it is painfully simple. You must tell Ninja exactly what to do when you create your project’s .ninja files.")
Re: Ninja – A small build system with a focus on speed
#16Re: Ninja – A small build system with a focus on speed
#17I've used ninja and gyp for building Android apps. It is 1 to 2 orders of magnitude faster than Gradle.
Re: Ninja – A small build system with a focus on speed
#18Jeez, can't you kids just quit this square-wheel churn and just buckle down and learn to write makefiles? It's really not that hard.
A Ninja file is probably no easier to write than a Makefile. But Ninja is a lot faster than make, which is the reason for using it. To see this, configure Chromium to build with Xcode, make, and ninja, and compare the build times.
I wasn't able to do a direct comparison of the build speeds of the two systems, but I bet the Ninja builds were significantly faster.
Re: Ninja – A small build system with a focus on speed
#19Earlier quoted context omitted.
Sigh. As far as I can tell ninja is primarily used as a cmake backend. Mostly because the people who wrote cmake never learned to write Makefiles and as a result using ninja with cmake is much faster.
Kitware have a lot to apologise for.
...but you categorically cannot argue that Kitware has single handed transformed the entire C++ build infrastructure landscape; the brand new cross platform IDE by JetBrains (CLion) uses cmake as their primary build method.
You have to tip your hat to the fact that KitWare been fantastically successful in their mission.
Like it or not, it's a fact. Cmake is here to stay.
Make could have been a contender, but the only people who cared enough about it to actually build anything useful with it, built automake; which is a piece of stinking rubbish, not portable, and has a syntax even more arcane than make OR cmake.
Maybe if android and the google make toolchain had arrived 4 years earlier, we'd be somewhere else now, but the gate is closed now. Make is obsolete as a build system for a modern project that has to, you know, actually compile on multiple targets.
Re: Ninja – A small build system with a focus on speed
#20I still think build systems should be written in node and js from now on. Node is easy to install on most environments, in my experience it is much easier than python or ruby and javascript knowledge is spreading.