CMake

From Wikipedia, the free encyclopedia

Jump to: navigation, search
CMake
Developed by Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf
Latest release 2.6.3 / 2009-02-23; 49 days ago
Operating system Cross-platform
Type Software development tools
License BSD License
Website http://www.cmake.org/

CMake is a cross-platform system for build automation. It is comparable to the Unix Make program in that the build process is ultimately controlled by configuration files, in the case of CMake called CMakeLists.txt files. Unlike Make, it does not directly build the final software, but instead generates standard build files (e.g., makefiles on Unix and projects/workspaces in Windows Visual C++) which are used in the usual way. This allows developers familiar with a particular development environment (such as the various IDEs) to use it in the standard way. It is this use of the native build environment that distinguishes CMake from most other similar systems like SCons. CMake can compile source code, create libraries, generate wrappers, and build executables in arbitrary combinations. CMake supports in-place and out-of-place builds, and can therefore support multiple builds from a single source tree. CMake also supports static and dynamic library builds.

The name "CMake" is an abbreviation for "cross platform make". Despite the use of "make" in the name, CMake is a separate and higher-level application suite than the make system common to Unix development.

Contents

[edit] History

CMake was created in response to the need for a suitable cross-platform build environment for the Insight Segmentation and Registration Toolkit (ITK) funded by the United States National Library of Medicine as part of the Visible Human Project. It was influenced by an earlier system called pcmaker created by Ken Martin and other developers to support the Visualization Toolkit (VTK), an open-source 3D graphics and visualization system. To create CMake, Bill Hoffman at Kitware incorporated some key ideas from pcmaker, and added many more of his own, with the thought to adopt some of the functionality of the GNU build system. The initial CMake implementation was mid-2000, with accelerated development occurring in early 2001. Many improvements were due to the influences of other developers incorporating CMake into their own systems. For example, the VXL software community adopted CMake as their build environment, contributing many essential features. Brad King added several features in order to support CABLE and GCC-XML, a set of automated wrapping tools; and GE Corporate R&D required support of their testing infrastructure (DART). Other features were added to support the transition of VTK's build environment to CMake, and to support ParaView, a parallel visualization system to support the Advanced Computing Lab at Los Alamos National Laboratory.

[edit] Major features

[edit] Applications using CMake

[edit] See also

[edit] External links

Personal tools