![]() |
|
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 pre-processor generation, system configuration, 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; s upports 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.
What's New in This Release: [ read full changelog ]
Alex Neundorf (5):
· automoc: default to strict mode, use CMAKE_AUTOMOC_RELAXED_MODE
· automoc: improved warning message in relaxed mode
· Remove trailing whitespace
· Add comment about one more problem of the C depency scanner.
· fix #12262: dependency scanning for ASM files
< b>Bill Hoffman (1):
· Fix the case where cmake --build failed with two project cmds in one file.
Brad King (11):
· KWSys: Correctly handle empty environment variables
· FortranCInterface: Work around mingw32-make trouble with parens
· Xcode: Create separate rerun dependencies for subprojects (#12616)
· Fix Intel Fortran .vfproj files for VS 10
· HP: Drive shared library linking with compiler front end
· Follow all dependencies of shared library private dependencies
· Do not link private dependent shared libraries on OS X > 10.4
· Avoid clobbering variable 'OUTPUT' in compiler tests (#12628)
· Fix and simplify Fortran test compiler compatibility check
· CTest: Recognize Intel errors without space before colon (#12627)
· Windows-GNU: Remove extra ...

Via: CMake 2.8.10