This page documents variables that are provided by CMake or have meaning to CMake when set by project code.

For general information on variables, see the Variables section in the cmake-language manual.

Variables that Provide Information

Variables that Change Behavior

Variables that Control the Build

Variables for Languages

Variables for CTest

Internal Variables

CMake has many internal variables. Most of them are undocumented. Some of them, however, were at some point described as normal variables, and therefore may be encountered in legacy code. They are subject to change, and not recommended for use in project code.