CMake is an excellent tool once you understand it.
Narrator: no one understands it.
It would be so much nicer if I it had a debugger or something. It is so hard to grep for a variable only to find out its actually the result of some string concatenation 22 files down the line
That it's built atop 22 layers of string concatenation is horrifying by itself.
Generalistic and moderated instance.