cmake
Packaging e progetti di distribuzione
Ricerca…
Sintassi
- # Imballa una directory di compilazione
pack [PATH] - # Usa un generatore specifico
cpack -G [GENERATORE] [PERCORSO] - # Fornire sostituzioni opzionali
- cpack -G [GENERATORE] -C [CONFIGURAZIONE] -P [PACKAGE NAME] -R [PACKAGE VERSION] -B [PACKAGE DIRECTORY] --vendor [PACKAGE VENDOR]
Osservazioni
CPack è uno strumento esterno che consente il confezionamento rapido di progetti CMake creati raccogliendo tutti i dati richiesti direttamente dai file CMakeLists.txt
e dai comandi di installazione utilizzati come install_targets()
.
Perché CPack funzioni correttamente, CMakeLists.txt
deve includere file o destinazioni da installare utilizzando la destinazione di install
.
Uno script minimale potrebbe assomigliare a questo:
# 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)
Creazione di un pacchetto per un progetto CMake creato
Per creare un pacchetto ridistribuibile (ad esempio un archivio ZIP o un programma di installazione), di solito è sufficiente richiamare CPack usando una sintassi molto simile a quella di chiamare CMake:
cpack path/to/build/directory
A seconda dell'ambiente, questo raccoglierà tutti i file richiesti / installati per il progetto e li inserirà in un archivio compresso o in un programma di installazione autoestraente.
Selezione di un generatore CPack da utilizzare
Per creare un pacchetto utilizzando un formato specifico, è possibile scegliere il generatore da utilizzare.
Simile a CMake questo può essere fatto usando l'argomento -G :
cpack -G 7Z .
L'utilizzo di questa riga di comando consente di raggruppare il progetto creato nella directory corrente utilizzando il formato di archivio 7-Zip.
Al momento della scrittura, CPack versione 3.5 supporta i seguenti generatori per impostazione predefinita:
- Formato file
7Z
7-Zip (archivio) -
IFW
Qt Installer Framework (eseguibile) -
NSIS
Null Soft Installer (eseguibile) -
NSIS64
Null Soft Installer (64 bit, eseguibile) -
STGZ
Tar GZip autoestraente (archivio) -
TBZ2
Tar BZip2 (archivio) - Compressione
TGZ
Tar GZip (archivio) -
TXZ
Tar XZ (archivio) -
TZ
Tar Compress compression (archivio) -
WIX
formato file MSI tramite strumenti WiX (archivio eseguibile) - Formato file
ZIP
ZIP (archivio)
Se non viene fornito alcun generatore esplicito, CPack cercherà di determinare il migliore disponibile a seconda dell'ambiente reale. Ad esempio, preferirà creare un eseguibile autoestraente su Windows e creare un archivio ZIP solo se non viene trovato un set di strumenti adeguato.