*** Welcome to piglix ***

CMake

CMake
Cmake.svg
Developer(s) Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf
Initial release 2000; 17 years ago (2000)
Stable release
3.7.2 / January 13, 2017; 2 months ago (2017-01-13)
Repository gitlab.kitware.com/cmake/cmake/tree/master
Development status Active
Written in C, C++
Operating system Cross-platform
Type Software development tools
License New BSD License
Website cmake.org

CMake is cross-platform free and open-source software for managing the build process of software using a compiler-independent method. It supports directory hierarchies and applications that depend on multiple libraries. It is used in conjunction with native build environments such as make, Apple's Xcode, and Microsoft Visual Studio. It has minimal dependencies, requiring only a C++ compiler on its own build system.

CMake can handle in-place and out-of-place builds, enabling several builds from the same source tree, and cross-compilation. 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 files remain unaffected.

CMake can locate executables, files, and libraries. These locations are stored in a cache, which can then be tailored before generating the target build files. The cache can be edited with a graphical editor which is included in the project.

Complicated directory hierarchies and applications that rely on several libraries are well supported by CMake. For instance, CMake is able to accommodate a project that has multiple toolkits, or libraries that each have multiple directories. In addition, CMake can work with projects that require executables to be created before generating code to be compiled for the final application. Its open-source, extensible design allows CMake to be adapted as necessary for specific projects.

CMake can generate makefiles for many platforms and IDEs including Unix, Windows, Mac OS X, OS/2, MSVC, Cygwin, MinGW and Xcode.

CMake scripts can produce Microsoft Visual Studio project and solution files. However, CMake's syntax is more oriented towards Unix and GNU makefiles, while Visual Studio development relies primarily on project->properties GUI.


...
Wikipedia

...