CMake is used to control the software compilation process using
simple platform and compiler independent configuration files. CMake
generates native makefiles and workspaces that can be used in the
compiler environment of your choice. CMake is quite sophisticated:
it is possible to support complex environments requiring system
configuration, pre-processor generation, code generation, and
template instantiation.
