Übersicht
CMake generiert Build-Skripte, die auf der Datei CMakeLists.txt basieren, welche den Build-Prozess des Quellcodes definiert. Diese Skripte sind für das vom Benutzer ausgewählte Build-Tool (z. B. Make, Ninja) geeignet. Dies ist unerlässlich, um den Build-Prozess komplexer Projekte zu standardisieren und zu automatisieren.
Hauptmerkmale
- Plattformübergreifende Unterstützung (Linux, Windows, macOS usw.)
- Generierung verschiedener Build-Systeme (Makefiles, Visual Studio, Xcode usw.)
- Einfache Verwaltung modularer Projekte
- Unterstützung für Tests und Paketerstellung (CTest, CPack)
Wichtige Optionen
Dies sind die wichtigsten Optionen, die häufig bei der Ausführung des CMake-Befehls verwendet werden.
Grundeinstellungen
Build-System-Generatoren
Build und Installation
Informationen
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`cmake` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
Dies sind verschiedene Szenarien zum Einrichten und Erstellen von Projekten mit CMake.
Grundlegende Build-Konfiguration und Makefile-Erstellung
mkdir build
cd build
cmake ..
make
Erstellt ein Makefile im Unterverzeichnis 'build' basierend auf dem Quellcode im aktuellen Verzeichnis.
Explizite Angabe von Quell- und Build-Verzeichnissen
cmake -S /path/to/my_project_source -B /path/to/my_project_build
Erstellt Build-Dateien, indem Quell- und Build-Verzeichnisse explizit angegeben werden.
Verwendung des Ninja-Generators und Release-Build
cmake -S . -B build -G Ninja -D CMAKE_BUILD_TYPE=Release
Erstellt Build-Dateien unter Verwendung des Ninja-Build-Systems und setzt den Build-Typ auf Release.
Ausführung des Builds über CMake
cmake --build build
Führt den Build über den CMake-Befehl aus, anstatt direkt das generierte Build-System (z. B. Makefile) aufzurufen.
Installation des gebauten Projekts
cmake --install build
Installiert das gebaute Projekt im Standardpfad des Systems (z. B. /usr/local).
Installation
CMake ist auf den meisten Linux-Distributionen nicht standardmäßig verfügbar und muss über einen Paketmanager installiert werden.
Debian/Ubuntu
sudo apt update
sudo apt install cmake
Installiert CMake mit dem APT-Paketmanager.
Fedora/RHEL/CentOS
sudo dnf install cmake
Installiert CMake mit dem DNF- oder YUM-Paketmanager.
Arch Linux
sudo pacman -S cmake
Installiert CMake mit dem Pacman-Paketmanager.
Tipps & Hinweise
Dies sind Tipps und Hinweise zur effektiven Nutzung von CMake.
Out-of-Source-Build
Es wird immer empfohlen, einen 'Out-of-Source'-Build zu verwenden, bei dem das Quellcode-Verzeichnis und das Build-Verzeichnis getrennt sind. Dies hält das Quellverzeichnis sauber und ermöglicht einen einfachen Wechsel zwischen verschiedenen Build-Konfigurationen.
- Verhindert die Verschmutzung des Quellverzeichnisses
- Einfache gleichzeitige Verwaltung verschiedener Build-Konfigurationen (Debug/Release)
CMakeLists.txt-Datei
Das Herzstück von CMake ist die Datei CMakeLists.txt, die die Build-Regeln des Projekts definiert. Das Verständnis der Syntax und Struktur dieser Datei ist wichtig.
- Befindet sich im Stammverzeichnis des Projekts
- Kann auch in Unterverzeichnissen vorhanden sein (eingebunden mit dem Befehl add_subdirectory)
Verwendung von GUI-Tools
Bei komplexen CMake-Projekten können Sie Tools wie `ccmake` (terminalbasiert) oder `cmake-gui` (grafisch) verwenden, um Cache-Variablen visuell zu konfigurieren und zu verwalten.
- `ccmake`: Konfiguriert Cache-Variablen interaktiv im Terminal
- `cmake-gui`: Bequeme Konfiguration über eine grafische Benutzeroberfläche