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:
-
7Z7-Zip-Dateiformat (Archiv) -
IFWQt Installer Framework (ausführbare Datei) -
NSISNull Soft Installer (ausführbare Datei) -
NSIS64Null Soft Installer (64-Bit, ausführbar) -
STGZSelbstentpackende Tar GZip-Komprimierung (Archiv) -
TBZ2Tar BZip2-Komprimierung (Archiv) -
TGZTar GZip-Komprimierung (Archiv) -
TXZTar XZ-Komprimierung (Archiv) -
TZTar Compression-Komprimierung (Archiv) -
WIXMSI-Dateiformat über WiX-Tools (ausführbares Archiv) -
ZIPZIP-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.