cmake
Empaquetado y distribución de proyectos.
Buscar..
Sintaxis
- # Empaquetar un directorio de compilación
paquete [RUTA] - # Usa un generador específico
cpack -G [GENERADOR] [RUTA] - # Proporcionar anulaciones opcionales
- cpack -G [GENERADOR] -C [CONFIGURACIÓN] -P [NOMBRE DEL PAQUETE] -R [VERSIÓN DEL PAQUETE] -B [DIRECTORIO DE PAQUETES] --vendor [VENDEDOR DE PAQUETES]
Observaciones
CPack es una herramienta externa que permite el empaquetado rápido de proyectos CMake construidos al recopilar todos los datos necesarios directamente de los archivos CMakeLists.txt
y los comandos de instalación utilizados, como install_targets()
.
Para que CPack funcione correctamente, el CMakeLists.txt
debe incluir los archivos o destinos que se instalarán utilizando el objetivo de compilación de install
.
Una secuencia de comandos mínima podría tener este aspecto:
# 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)
Creando un paquete para un proyecto CMake construido
Para crear un paquete redistribuible (por ejemplo, un archivo ZIP o un programa de configuración), normalmente es suficiente simplemente invocar CPack utilizando una sintaxis muy similar a la de llamar a CMake:
cpack path/to/build/directory
Dependiendo del entorno, esto reunirá todos los archivos necesarios / instalados para el proyecto y los colocará en un archivo comprimido o un instalador autoextraíble.
Seleccionando un generador CPack para ser utilizado
Para crear un paquete con un formato específico, es posible elegir el generador que se utilizará.
Similar a CMake esto se puede hacer usando el argumento -G :
cpack -G 7Z .
El uso de esta línea de comando empaquetaría el proyecto construido en el directorio actual usando el formato de archivo 7-Zip.
Al momento de escribir, CPack versión 3.5 soporta los siguientes generadores por defecto:
- Formato de archivo
7Z
7-Zip (archivo) -
IFW
Qt Installer Framework (ejecutable) - Instalador suave nulo de
NSIS
(ejecutable) -
NSIS64
Null Soft Installer (64 bits, ejecutable) -
STGZ
auto extraíble Tar GZip (archivo) -
TBZ2
Tar BZip2 (archivo) - Compresión
TGZ
Tar GZip (archivo) -
TXZ
Tar XZ de compresión (archivo) - Compresión
TZ
Tar Compress (archivo) - Formato de archivo
WIX
MSI a través de herramientas WiX (archivo ejecutable) - Formato de archivo
ZIP
ZIP (archivo)
Si no se proporciona un generador explícito, CPack intentará determinar el mejor disponible dependiendo del entorno real. Por ejemplo, preferirá crear un archivo ejecutable autoextraíble en Windows y solo creará un archivo ZIP si no se encuentra un conjunto de herramientas adecuado.