CMake is a build automation and testing platform for portably building C/C++ software. It’s the standard way to build any software based on C/C++, especially because it can hook up to native compilation tools (i.e., Makefiles on Linux systems).
CMake relies on a custom scripting language (like many other build automation tools). The core part of any CMake project is the CMakeLists.txt
file. This specifies the parameters of the project.
Quick links:
Build file
Some key characteristics we should define:
cmake_minimum_required(VERSION x.xx...x.xx)
— is a required part of the file. We should ideally be using newer versions of CMake if possible. Starting in CMake 3.12, we’re allowed to use a range of values. Newer versions should use a range of values.project()
identifies specific project parameters.
project(MyProject VERSION 1.0
DESCRIPTION "Very nice project"
LANGUAGES CXX)
Some additional commands we can use:
set(VARNAME "value")
— sets a local variable with identifierVARNAME
.