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.

WWW: http://www.cmake.org/
