CMake is an open-source, cross-platform and free tool (or meta build system), that some would describe as a build system generator that is used in conjunction with your build environment. It is utilized to control the build process (perform build configuration) by using configuration files or what you would call scripts (CMakeLists.txt) to generate build files. In addition to supporting various build systems and operating systems, it also supports several programming languages such as C++, C#, Cuda, and more.

Starting with version 3.0, CMake is referred to as Modern CMake. Modern CMake is all about targets and properties. Targets are, like the name implies, the desired outcomes – the job of the building process, which is compiled out of properties.
Cmake was developed for the Insight Segmentation and Registration Toolkit (ITK) in 1999 to support the need for a cross-platform build environment. It was funded by the United States National Library of Medicine (NLM) as part of the Visible Human Project. It was inspired by pcmaker (by Ken Martin). Bill Hoffman from Kitware created CMake relying on ideas from pcmaker. The first implementation of CMake occurred in 2000. Since then, many changes have been made to CMake by the community. In June 2014 version 3.0 of CMake was released as Modern CMake. The latest release of CMake is version 3.19.0
CMake automatically generates Makefiles for a project. It basically generates project files to be used with development tools.
Try it nowGet Free License
There are various ways to install CMake that vary depending on the platform (Windows, Linux, macOS, UNIX). To learn how to install CMake on each platform click here.
Click here for CMake examples.
Incredibuild empowers your teams to be productive and focus on innovating.
| Cookie | Duration | Description |
|---|---|---|
| cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
| cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
| cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
| cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
| cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
| viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |