Is there a problem with cmake? Why are people still inventing new build systems?
- the archaic custom scripting language (that's its main problem)
- there are many ways to do the same thing, resulting in each (non-trivial) build script looking different
- for the above reason, importing dependencies written by somebody else is non-trivial, and its often better to rewrite the cmake scripts completely
- it lacks some 'integration features' found in more modern systems like Rust's cargo: (1) proper dependency/package management (2) run targets (3) switching between build configurations should be easier (not just release/debug, also different build target platforms)
cmake pros (also IMHO):
- can generate IDE project files (that's what most new build systems completely ignore)
- very good cross-compilation support
- describing a simple build is reasonably simple
- broad support for build tools and IDEs