cmake
Projets d'emballage et de distribution
Recherche…
Syntaxe
- # Package d'un répertoire de construction
pack [CHEMIN] - # Utiliser un générateur spécifique
cpack -G [GENERATEUR] [CHEMIN] - # Fournit des remplacements facultatifs
- cpack -G [GENERATEUR] -C [CONFIGURATION] -P [NOM DU PAQUET] -R [VERSION DU PAQUET] -B [ANNUAIRE DU PAQUET] --vendeur [VENDEUR PAQUET]
Remarques
CPack est un outil externe permettant de conditionner rapidement les projets CMake construits en rassemblant toutes les données requises directement à partir des fichiers CMakeLists.txt
et des commandes d'installation utilisées telles que install_targets()
.
Pour que CPack fonctionne correctement, le CMakeLists.txt
doit inclure des fichiers ou des cibles à installer à l'aide de la cible de génération d' install
.
Un script minimal pourrait ressembler à ceci:
# 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)
Créer un paquet pour un projet CMake construit
Pour créer un package redistribuable (par exemple une archive ZIP ou un programme d'installation), il suffit généralement d'appeler simplement CPack en utilisant une syntaxe très similaire à l'appel de CMake:
cpack path/to/build/directory
Selon l'environnement, cela rassemblera tous les fichiers requis / installés pour le projet et les placera dans une archive compressée ou un programme d'installation auto-extractible.
Sélection d'un générateur CPack à utiliser
Pour créer un package en utilisant un format spécifique, il est possible de choisir le générateur à utiliser.
Similaire à CMake, cela peut être fait en utilisant l'argument -G :
cpack -G 7Z .
L'utilisation de cette ligne de commande empaquera le projet intégré dans le répertoire en cours en utilisant le format d'archive 7-Zip.
Au moment de la rédaction de ce document, CPack version 3.5 prend en charge les générateurs suivants par défaut:
- Format de fichier
7Z
7-Zip (archive) -
IFW
Qt Installer Framework (exécutable) -
NSIS
Null Soft Installer (exécutable) -
NSIS64
Null Soft Installer (64 bits, exécutable) -
STGZ
Tar GZip auto-extractible (archive) -
TBZ2
Tar BZip2 compression (archive) - Compression
TGZ
Tar GZip (archive) -
TXZ
Tar XZ compression (archive) -
TZ
Tar Compress compression (archive) - Format de fichier
WIX
MSI via les outils WiX (archive exécutable) - Format de fichier
ZIP
ZIP (archive)
Si aucun générateur explicite n'est fourni, CPack essaiera de déterminer le meilleur disponible en fonction de l'environnement réel. Par exemple, il préférera créer un exécutable auto-extractible sous Windows et créer uniquement une archive ZIP si aucun jeu d'outils approprié n'est trouvé.