Overzicht
CMake genereert build scripts die passen bij de door de gebruiker gekozen build tool (bijv. Make, Ninja) op basis van het CMakeLists.txt bestand dat het buildproces van de broncode definieert. Dit is essentieel voor het standaardiseren en automatiseren van het buildproces van complexe projecten.
Belangrijkste Kenmerken
- Cross-platform ondersteuning (Linux, Windows, macOS, etc.)
- Genereren van diverse build systemen (Makefiles, Visual Studio, Xcode, etc.)
- Eenvoudig modulair projectbeheer
- Ondersteuning voor testen en verpakken (CTest, CPack)
Belangrijkste Opties
Dit zijn de meest gebruikte opties bij het uitvoeren van het CMake commando.
Basisinstellingen
Build Systeem Generatoren
Bouwen en Installeren
Informatie
Gegenereerde opdracht:
Probeer de opdrachtcombinaties.
Uitleg:
`cmake` Voer het commando uit.
Combineer deze opties en voer de opdracht virtueel uit met de AI.
Gebruiksvoorbeelden
Dit zijn diverse scenario's voor het configureren en bouwen van projecten met CMake.
Basis build configuratie en Makefile generatie
mkdir build
cd build
cmake ..
make
Genereert een Makefile in de 'build' submap, gebaseerd op de bronnen in de huidige map.
Bron- en buildmappen expliciet specificeren
cmake -S /path/to/my_project_source -B /path/to/my_project_build
Genereert build bestanden door de bronmap en buildmap duidelijk te specificeren.
Ninja generator gebruiken en release build
cmake -S . -B build -G Ninja -D CMAKE_BUILD_TYPE=Release
Genereert build bestanden met behulp van het Ninja build systeem en stelt het build type in op release.
Build uitvoeren via CMake
cmake --build build
Voert de build uit via het CMake commando in plaats van direct het gegenereerde build systeem (bijv. Makefile) aan te roepen.
Gebouwd project installeren
cmake --install build
Installeert het gebouwde project in het standaardpad van het systeem (bijv. /usr/local).
Installatie
CMake is niet standaard beschikbaar op de meeste Linux distributies, dus je moet het installeren via een package manager.
Debian/Ubuntu
sudo apt update
sudo apt install cmake
Installeert CMake met behulp van de APT package manager.
Fedora/RHEL/CentOS
sudo dnf install cmake
Installeert CMake met behulp van de DNF of YUM package manager.
Arch Linux
sudo pacman -S cmake
Installeert CMake met behulp van de Pacman package manager.
Tips & Aandachtspunten
Dit zijn tips en aandachtspunten voor het effectief gebruiken van CMake.
Out-of-Source Build
Het wordt altijd aanbevolen om een 'Out-of-Source' build te gebruiken, waarbij de broncode map en de build map gescheiden zijn. Dit houdt de bronmap schoon en maakt het eenvoudig om te wisselen tussen verschillende build configuraties.
- Voorkomt vervuiling van de bronmap
- Maakt eenvoudig gelijktijdig beheer van verschillende build configuraties (Debug/Release) mogelijk
CMakeLists.txt bestand
De kern van CMake is het CMakeLists.txt bestand, dat de build regels van het project definieert. Het is belangrijk om de syntax en structuur van dit bestand te begrijpen.
- Bevindt zich in de root map van het project
- Kan ook in submappen bestaan (inbegrepen met het add_subdirectory commando)
Gebruik van GUI Tools
Voor complexe CMake projecten kun je tools zoals `ccmake` (terminal-gebaseerd) of `cmake-gui` (grafisch) gebruiken om cache variabelen visueel in te stellen en te beheren.
- `ccmake`: Stelt cache variabelen interactief in via de terminal
- `cmake-gui`: Handige instelling via een grafische interface