This is correct. It has the key things that most C++ devs tend to care about:
- Cross platform support well integrating into "native" tooling
- Endless ability to add weird hacks to things to get around problems
The syntax is ...passable. I've never gotten a java stacktrace during a build failure (ahem bazel ahem).
It's straightforward enough to do the horrible things that C++ devs do all of the time like having 3 dependencies from system apt, 2 vendored, actually a 3rd is vendored but only used on windows, where the other 2 come from vcpkg, and 4 of these are statically linked but the last (openssl) is dynamic and accepts any version in order to support both ubuntu LTS and arch, but shipped as a dll on windows.
I have prayed before the CMake gods and they have accepted me.