CMake

CMake je multiplatformní nástroj pro automatizování kompilace, testování, balíčkování a instalaci software. CMake je nezávislý na překladači a vývojovém prostředí programátora.

CMake sám o sobě není build system, ale generátor konfigurace pro build systémy jako Make, Ninja, apod. Překlad projektu pomocí CMake tedy probíhá ve dvou fázích:

  1. Konfigurace CMake a generování konfigurace pro build system. V terminálu se provádí typicky příkazem
cmake -B build -S . -G Ninja
  1. Kompilování projektu, případně generování dalších souborů (dokumentace, obrázky, atd.). V terminálu se provádí typicky příkazem
cmake --build build

Cesta build za parametrem --build určuje adresář, kde má probíhat překlad (odpovídá parametru -B v předchozím příkladu).

Konfigurace projektu

Konfigurace se provádí v souborech CMakeLists.txt umístěných mezi zdrojovými soubory v projektu. Nejjednodušší nastavení projektu může vypadat takto:

cmake_minimum_required(VERSION 3.10)
project(MyAwesomeProject)
add_executable(my-target my-source.cpp)

Další užitečná makra:

Více informací najdete v oficiálním tutoriálu, na webu Modern CMake nebo v projektu CMake Examples.

Šablony

Šablony s počáteční konfigurací CMake pro C++ projekty: