Skip to content
EntityQ1023904· pop 22· linked from 90 articles

CMake is a free, cross-platform, software development tool for building applications via compiler-independent instructions. It also can automate testing, packaging and installation. It runs on a variety of platforms and supports many programming languages.

Key facts

Software.name
CMake
Software.logo
CMake logo.svg
Software.logo size
96px
Software.screenshot
Cmake with Clang screenshot.png
Software.developer
Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf
Software.programming language
C, C++
Software.operating system
Cross-platform
Software.genre
Software development tools
Software.license
BSD-3-Clause

via Wikipedia infobox

Wikidata facts

Official website
cmake.org
Image
Cmake with Clang screenshot.png
Show 9 more facts
software version identifier
4.3.2
inception
2000-00-00
Commons category
CMake
publication date
2000-00-00
has command line option
V
official forum URL
discourse.cmake.org
source code repository URL
github.com/Kitware/CMake
Sources (15)

via Wikidata · CC0

~12 min read

Article

27 sections
Contents
  • History
  • Name
  • Features
  • Generators and IDE support
  • Build targets
  • Hierarchical configuration
  • Separate build tree
  • Dependency management
  • Flexible project structure
  • Compiler feature detection
  • Compiler support
  • Packaging
  • GUI
  • Precompiled headers and modules
  • JSON strings
  • Language
  • Command syntax
  • Implementation
  • Additional tools
  • Adoption
  • Build process
  • Examples
  • Hello world
  • Include
  • See also
  • References
  • External links

CMake is a free, cross-platform, software development tool for building applications via compiler-independent instructions. It also can automate testing, packaging and installation. It runs on a variety of platforms and supports many programming languages.

As a meta-build tool, CMake configures native build tools which in turn build the codebase. CMake generates configuration files for other build tools based on CMake-specific configuration files. The other tools are responsible for more directly building, using the generated files. A single set of CMake-specific configuration files can be used to build a codebase using the native build tools of multiple platforms.

Connections

Categories