> Popular C/C++ alternative build systems are SCons, CMake, Bazel, and Ninja.
CMake is not a build system. It's a build system generator. A higher level abstraction over the problem of specifying projects, which greatly simplifies the work of creating and maintaining them. Once a CMake project is created, it is then used to create the actually build system. Originally it was mainly Makefile, but nowadays it also supports Ninja, Xcode, and Visual Studio. I'm sure that if there is any interest cmake could also be updated to generate other build systems.
Arguably CMake is a build system; as a user you can build your project only by running CMake commands. The fact that it will run e.g. ninja or make under-the-hood can be ignored for many use-cases.
From the article:
> Popular C/C++ alternative build systems are SCons, CMake, Bazel, and Ninja.
CMake is not a build system. It's a build system generator. A higher level abstraction over the problem of specifying projects, which greatly simplifies the work of creating and maintaining them. Once a CMake project is created, it is then used to create the actually build system. Originally it was mainly Makefile, but nowadays it also supports Ninja, Xcode, and Visual Studio. I'm sure that if there is any interest cmake could also be updated to generate other build systems.