Software Development with CMake
CMake is an open source, cross-platform family of tools designed to build, test, and package software. CMake gives you control of the software compilation process using simple independent configuration files. Unlike many cross-platform systems, CMake is designed to be used in conjunction with the native build environment.
More than 2 Million downloads a month
CMake is the de-facto standard software build system because it can:
- Be extended as necessary to support new features.
- Generate a native build environment that will compile source code, create libraries, generate wrappers, and build executables in arbitrary combinations.
- Support multiple builds from a single source tree.
- Support static and dynamic library builds.
- Generate a cache file that is designed to be used with a graphical editor.
- Support complex directory hierarchies and applications dependent on several libraries.
- Handle situations where executables must be built in order to generate code that is then compiled and linked into a final application.
Please visit the Features page for a comprehensive list.
CMake’s Rich History
The original author of CMake, Bill Hoffman, is also a co-founder and the current CTO of Kitware. He created CMake in response to the need for a powerful, cross-platform build environment for The Insight Toolkit (ITK) and the Visualization Toolkit (VTK).