From dankwiki
Revision as of 23:19, 5 May 2020 by Dank (talk | contribs)

CMake is one of the numerous build systems that seeks to replace Autotools+Make in the twenty-first century.

A CMake build can be configured on the command line with -D switches, or using ccmake/cmake-gui. Either way, the result is build infrastructure for some other tool, such as Make or Ninja.

Build Types

CMAKE_BUILD_TYPE can take any of the values in CMAKE_CONFIGURATION_TYPES. Important ones include:

  • Debug -- no optimization, full debug info, assert (NDEBUG is not defined)
  • RelWithDebInfo -- optimized, symbols
  • Release -- optimized, no symbols
  • MinSizeRel -- optimized for size