"CMake is a build-system generator, offering a powerful domain-specific language (DSL) to describe what the build system should achieve."
"Projects are split across multiple source files, often spread across different subdirectories in the source tree. This practice not only helps in keeping source code organized within a project, but greatly favors modularity, code reuse, and separation of concerns, ... This separation also simplifies"