CMake, like any other language, has variables. CMake variables are all treated as strings but they have the usual types.
Basics of CMake
CMake is a cross-platform build configuration system for C and C++ among others. This blog is about the basics of CMake.