Startpagina > Overige externe pakketten > cmake

cmake: Cross-platform build system generator

CMake is a tool for generating build systems that are independent of operating systems and compilers. It is mainly used for C and C++ projects and can generate various build files such as Makefiles, Visual Studio projects, and Xcode projects. This allows developers to manage and build projects without being dependent on specific IDEs or build tools.

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

Hétzelfde categoriecommando