accueil > Autres paquets externes > cmake

cmake : Générateur de système de build multiplateforme

CMake est un outil qui génère des systèmes de build indépendants du système d'exploitation et du compilateur. Il est principalement utilisé pour les projets C et C++ et peut générer divers fichiers de build tels que des Makefiles, des projets Visual Studio et des projets Xcode. Cela permet aux développeurs de gérer et de construire des projets sans être dépendants d'un IDE ou d'un outil de build spécifique.

Aperçu

CMake génère des scripts de build adaptés à l'outil de build choisi par l'utilisateur (par exemple, Make, Ninja) sur la base du fichier CMakeLists.txt qui définit le processus de build du code source. Ceci est essentiel pour standardiser et automatiser le processus de build de projets complexes.

Caractéristiques principales

  • Support multiplateforme (Linux, Windows, macOS, etc.)
  • Génération de divers systèmes de build (Makefiles, Visual Studio, Xcode, etc.)
  • Gestion facile des projets modulaires
  • Support des tests et du packaging (CTest, CPack)

Options principales

Voici les options couramment utilisées lors de l'exécution de la commande CMake.

Configuration de base

Générateur de système de build

Build et Installation

Informations

Commande générée :

Essayez de combiner les commandes.

Description:

`cmake` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Exemples d'utilisation

Voici divers scénarios pour configurer et construire des projets à l'aide de CMake.

Configuration de build de base et génération de Makefile

mkdir build
cd build
cmake ..
make

Génère un Makefile dans le sous-répertoire 'build' basé sur les sources du répertoire courant.

Spécification explicite des répertoires source et de build

cmake -S /path/to/my_project_source -B /path/to/my_project_build

Génère les fichiers de build en spécifiant clairement les répertoires source et de build.

Utilisation du générateur Ninja et build en mode Release

cmake -S . -B build -G Ninja -D CMAKE_BUILD_TYPE=Release

Génère les fichiers de build en utilisant le système de build Ninja et en définissant le type de build sur Release.

Exécution du build via CMake

cmake --build build

Exécute le build via la commande CMake au lieu d'appeler directement le système de build généré (par exemple, Makefile).

Installation du projet construit

cmake --install build

Installe le projet construit dans le chemin par défaut du système (par exemple, /usr/local).

Installation

CMake n'est pas fourni par défaut dans la plupart des distributions Linux, il doit donc être installé via le gestionnaire de paquets.

Debian/Ubuntu

sudo apt update
sudo apt install cmake

Installe CMake en utilisant le gestionnaire de paquets APT.

Fedora/RHEL/CentOS

sudo dnf install cmake

Installe CMake en utilisant le gestionnaire de paquets DNF ou YUM.

Arch Linux

sudo pacman -S cmake

Installe CMake en utilisant le gestionnaire de paquets Pacman.

Conseils et précautions

Voici des conseils et des points à considérer pour utiliser CMake efficacement.

Build hors source (Out-of-Source Build)

Il est toujours recommandé d'utiliser un build 'hors source' qui sépare le répertoire source du répertoire de build. Cela permet de garder le répertoire source propre et de passer facilement d'un paramètre de build à l'autre.

  • Prévention de la contamination du répertoire source
  • Gestion facile de plusieurs configurations de build (Debug/Release) simultanément

Fichier CMakeLists.txt

Le cœur de CMake est le fichier CMakeLists.txt, qui définit les règles de build du projet. Il est important de comprendre la syntaxe et la structure de ce fichier.

  • Situé dans le répertoire racine du projet
  • Peut également exister dans les sous-répertoires (inclus avec la commande add_subdirectory)

Utilisation des outils GUI

Pour les projets CMake complexes, vous pouvez utiliser des outils tels que `ccmake` (basé sur terminal) ou `cmake-gui` (basé sur graphique) pour configurer et gérer visuellement les variables de cache.

  • `ccmake` : Configuration interactive des variables de cache dans le terminal
  • `cmake-gui` : Configuration pratique avec une interface graphique

Commandes de la même catégorie