Hacker News new | ask | show | jobs
by delta_p_delta_x 975 days ago
Yep, CMake. It has a weird string-typed syntax, and an even weirder function/function parameter syntax, but those are the most egregious issues.

Target-based CMake is extremely straightforward to get started with, and CMake + Ninja is also frequently significantly faster than the alternatives (autoconf tools). It also easily hooks into package managers for C++ (Conan, vcpkg) and today, users can write C++ like they do JS or Rust: have a `vcpkg.json` file, top-level `CMakeLists.txt` file, and that's it.

I've worked enough with Autotools to understand how ridiculously painful they are. Look at this monstrosity[1].

CMake may be hard to get started with, but it's easy to append, maintain, and refactor code that builds with CMake.

[1]: https://en.wikipedia.org/wiki/GNU_Autotools#/media/File:Auto...