Hacker News new | ask | show | jobs
by eqvinox 1917 days ago
Pending one caveat:

- I do not target nor care about Windows systems (which is in agreement with the GP I guess - cmake may be useful as to get project files for VC covered.)

I agree with the GP post and:

- I do target different platforms (Linux, BSDs and Solaris)

- I do target different compilers (GCC, clang and ICC)

- I do cross compile and maintain multiple toolchains (I have 16 GCCs and 8 clangs on my box)

- I do juggle different compiler flags

- I work on a codebase with 1.24M lines

- I have experienced the pain of working with dependencies we need that use cmake.

The only thing cmake has given me is having to learn another way to do all the same things I already know how to do for 10 other build systems.

NB: I do not agree with the GP post that make by itself is a good tool. In most cases, the best tool is simply the most popular one, which - sadly, because it's a pretty bad tool - is autotools for my use cases. I know how to deal with it, my co-developers know how to deal with it, and my users know how to deal with it. Even if I learn 10 other build systems, that still leaves my co-developers and users hanging.

If we disregard this and go purely with technical merits, my personal opinion (= I don't care to argue for this, feel free to ignore) for the best tool becomes Meson.

(I'm aware this post is a bit condescending, but I feel that this is an appropriate response to the parent post's equal condescension. ["You probably feel the way you do because:" - really? What gives you that "insight"?])

1 comments

GP here: I’m also ambivalent about autotools. It integrates in well with distro package managers. It’s ridiculously complicated, but at least it handles all the corner cases of cross-compilation, etc.
It's definitely showing its age & quite shitty in a lot of places, but no argument can be made that it isn't the "standard" :(. If it were showing up to the party right now as a new entry, it'd be laughed out of the room...

[libtool isn't even actively maintained! Like, seriously, I'd guess >90% of packages on any Linux/BSD systems use it in their build and it's essentially abandonware!]