Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

CMake can't generate anything, it only generates a few different types of files. Make is the most well-tested output, and there is only one alternative generator for CMake for the Linux command line anyway (Ninja, which is even less expressive than Make).

It's like saying that "Why use assembly at all? GCC could generate anything." Well, yes. But you're on an x86 machine and there's an assembler right there for GCC to use, and GCC has been using that assembler for decades.



All of these things sound complicated. What is CMake now ?

Manipulating files is trivial in any programming language expect maybe in something like C,C++,Java,etc.

Python/js/go make it really easy to deal with complex build systems or even just 1 liners.

So I have no idea why make has any advantage over those - only use-case is if you are writing C where its non-trival to do file-handling.

I moved to npm scripts once I asked the question "how do i make a multi-process build script in make ?"

and all the neck-beards in uni had no answer - so I just write small scripts which grow and shrink based on my needs.


Make is really fast, and it's good at doing parallel builds (you just have to specify -j). You could try making something better in Python, but it would take a long time to write and Make is already here. You apparently had the opposite experience from me. I hate NPM build systems like Grunt and Gulp because they're hard to debug. Make is easy—keep the files around and tweak the command line until it works.

No idea how you missed the -j option.


"I moved to npm scripts once I asked the question 'how do i make a multi-process build script in make ?' and all the neck-beards in uni had no answer"

  make --jobs=2




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: