CMake 2.4.2 reviewDownload
CMake, the cross-platform, open-source make system
CMake, the cross-platform, open-source make system. 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.
CMake was developed by Kitware as part of the NLM Insight Segmentation and Registration Toolkit project. The ASCI VIEWS project also provided support in the context of their parallel computation environment. Other sponsors include the Insight, VTK, and VXL open source software communities.
The goals for CMake include the following:
Develop an open source, cross-platform tool to manage the build process,
Allow the use of native compilers and systems,
Simplify the build process,
Optionally provide a user-interface to manage the build system,
Create an extensible framework,
Grow a self-sustaining community of software users and developers.
Here are some key features of "CMake":
Supports complex, large build environments. CMake has been proven in several large projects.
Generates native build files (e.g., makefiles on Unix; workspaces/projects on MS Visual C++). Therefore standard tools can be used on any platform/compiler configuration.
Has powerful commands include the ability to locate include files, libraries, executables; include external CMake files that encapsulate standard functionality; interfaces to testing systems; supports recursive directory traversal with variable inheritance; can run external programs; supports conditional builds; supports regular expression expansion; and so on.
Supports in-place and out-of-place builds. Multiple compilation trees are possible from a single source tree.
Can be easily extended to add new features.
CMake is open source.
CMake operates with a cache designed to be interfaced with a graphical editor. The cache provides optional interaction to conditionally control the build process.
CMake 2.4.2 search tags