cmake
Projekte verpacken und verteilen
Suche…
Syntax
- # Packen Sie ein Build-Verzeichnis
pack [PFAD] - # Verwenden Sie einen bestimmten Generator
cpack -G [GENERATOR] [PFAD] - # Optionale Überschreibungen angeben
- cpack -G [GENERATOR] -C [KONFIGURATION] -P [PACKAGE NAME] -R [PACKAGE-VERSION] -B [PACKAGE-VERZEICHNIS]
Bemerkungen
CPack ist ein externes Tool, das das schnelle Packen von erstellten CMake-Projekten ermöglicht, indem alle erforderlichen Daten direkt aus den Dateien CMakeLists.txt
und den verwendeten Installationsbefehlen wie install_targets()
.
Damit CPack ordnungsgemäß funktioniert, muss die Datei CMakeLists.txt
Dateien oder Ziele enthalten, die mithilfe des install
installiert werden sollen.
Ein minimales Skript könnte so aussehen:
# Required headers
cmake(3.0)
# Basic project setup
project(my-tool)
# Define a buildable target
add_executable(tool main.cpp)
# Provide installation instructions
install_targets(tool DESTINATION bin)
Erstellen eines Pakets für ein erstelltes CMake-Projekt
Um ein weitervertreibbares Paket (z. B. ein ZIP-Archiv oder ein Setup-Programm) zu erstellen, genügt es normalerweise, CPack mit einer dem Aufruf von CMake sehr ähnlichen Syntax aufzurufen:
cpack path/to/build/directory
Abhängig von der Umgebung werden dadurch alle für das Projekt erforderlichen / installierten Dateien gesammelt und in einem komprimierten Archiv oder einem selbstentpackenden Installationsprogramm abgelegt.
Auswahl eines zu verwendenden CPack Generators
Um ein Paket mit einem bestimmten Format zu erstellen, können Sie den zu verwendenden Generator auswählen.
Ähnlich wie bei CMake kann dies mit dem Argument -G geschehen:
cpack -G 7Z .
Wenn Sie diese Befehlszeile verwenden, wird das erstellte Projekt im aktuellen Verzeichnis im 7-Zip-Archivformat gepackt.
Zum Zeitpunkt des Schreibens unterstützt CPack Version 3.5 standardmäßig folgende Generatoren:
-
7Z
7-Zip-Dateiformat (Archiv) -
IFW
Qt Installer Framework (ausführbare Datei) -
NSIS
Null Soft Installer (ausführbare Datei) -
NSIS64
Null Soft Installer (64-Bit, ausführbar) -
STGZ
Selbstentpackende Tar GZip-Komprimierung (Archiv) -
TBZ2
Tar BZip2-Komprimierung (Archiv) -
TGZ
Tar GZip-Komprimierung (Archiv) -
TXZ
Tar XZ-Komprimierung (Archiv) -
TZ
Tar Compression-Komprimierung (Archiv) -
WIX
MSI-Dateiformat über WiX-Tools (ausführbares Archiv) -
ZIP
ZIP-Dateiformat (Archiv)
Wenn kein expliziter Generator bereitgestellt wird, versucht CPack, die beste verfügbare Leistung in Abhängigkeit von der tatsächlichen Umgebung zu ermitteln. Beispielsweise wird es bevorzugt, eine selbstextrahierende ausführbare Datei unter Windows zu erstellen und ein ZIP-Archiv nur zu erstellen, wenn kein geeignetes Toolset gefunden wird.