Another feature is the ability to generate a cache to be used with a graphical editor, which, when CMake is run, can locate executables, files, and libraries. The ability to build a directory tree outside the source tree is a key feature, ensuring that if a build directory is removed, the source file remains unaffected. It was created by Kitware in response to the need for a powerful, cross-platform build environment for Open-Source projects such as ITK and VTK.ĬMake can handle in-place and out-of-place builds, enabling several builds from the same source tree, and cross-compilation. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice. It is used to control the software compilation process using simple platform- and compiler-independent configuration files. CMake is a family of tools designed to build, test, and package software.