Zoeken…


Syntaxis

  • # Verpak een build-map
    pack [PATH]
  • # Gebruik een specifieke generator
    cpack -G [GENERATOR] [PATH]
  • # Zorg voor optionele overschrijvingen
  • cpack -G [GENERATOR] -C [CONFIGURATIE] -P [PACKAGE NAME] -R [PACKAGE VERSION] -B [PACKAGE DIRECTORY] --vendor [PACKAGE VENDOR]

Opmerkingen

CPack is een externe tool voor het snel verpakken van gebouwde CMake-projecten door alle vereiste gegevens rechtstreeks uit de CMakeLists.txt bestanden en de gebruikte installatieopdrachten zoals install_targets() .

Om CPack correct te laten werken, moet CMakeLists.txt bestanden of doelen bevatten die moeten worden geïnstalleerd met behulp van het install build-doel.

Een minimaal script kan er zo uitzien:

# 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)

Een pakket maken voor een gebouwd CMake-project

Om een herdistribueerbaar pakket te maken (bijvoorbeeld een ZIP-archief of een installatieprogramma), is het meestal voldoende om CPack eenvoudigweg aan te roepen met een syntaxis die erg lijkt op het aanroepen van CMake:

cpack path/to/build/directory

Afhankelijk van de omgeving verzamelt dit alle vereiste / geïnstalleerde bestanden voor het project en plaatst deze in een gecomprimeerd archief of zelfuitpakkend installatieprogramma.

Een te gebruiken CPack-generator selecteren

Om een pakket met een specifiek formaat te maken, is het mogelijk om de te gebruiken generator te kiezen.

Vergelijkbaar met CMake kan dit worden gedaan met behulp van het argument -G :

cpack -G 7Z .

Het gebruik van deze opdrachtregel zou het gebouwde project in de huidige map verpakken met behulp van het 7-Zip archiefformaat.

Op het moment van schrijven ondersteunt CPack versie 3.5 standaard de volgende generatoren:

  • 7Z 7-Zip bestandsformaat (archief)
  • IFW Qt Installer Framework (uitvoerbaar)
  • NSIS Null Soft Installer (uitvoerbaar)
  • NSIS64 Null Soft Installer (64-bit, uitvoerbaar)
  • STGZ Tar GZip-compressie (archief)
  • TBZ2 Tar BZip2-compressie (archief)
  • TGZ Tar GZip-compressie (archief)
  • TXZ Tar XZ-compressie (archief)
  • TZ Tar Compress-compressie (archief)
  • WIX MSI-bestandsformaat via WiX-tools (uitvoerbaar archief)
  • ZIP ZIP-bestandsformaat (archief)

Als er geen expliciete generator wordt verstrekt, probeert CPack de best beschikbare te bepalen, afhankelijk van de werkelijke omgeving. Het geeft bijvoorbeeld de voorkeur aan een zelfuitpakkend uitvoerbaar bestand op Windows en maakt alleen een ZIP-archief aan als er geen geschikte toolset wordt gevonden.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow