cmake
Förpackning och distribution av projekt
Sök…
Syntax
- # Paketera en build-katalog
pack [PATH] - # Använd en specifik generator
cpack -G [GENERATOR] [PATH] - # Ge valfria åsidosättningar
- cpack -G [GENERATOR] -C [CONFIGURATION] -P [PACKAGE NAME] -R [PACKAGE VERSION] -B [PACKAGE DIRECTORY] --vendor [PACKAGE VENDOR]
Anmärkningar
CPack är ett externt verktyg som tillåter snabb förpackning av inbyggda CMake-projekt genom att samla in alla nödvändiga data direkt från CMakeLists.txt
filerna och de använda installationskommandona som install_targets()
.
För att CPack ska fungera CMakeLists.txt
måste CMakeLists.txt
innehålla filer eller mål som ska installeras med install
.
Ett minimalt manus kan se ut så här:
# 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)
Skapa ett paket för ett inbyggt CMake-projekt
För att skapa ett omfördelbart paket (t.ex. ett ZIP-arkiv eller ett installationsprogram) räcker det oftast för att helt enkelt åberopa CPack med en syntax som mycket liknar att ringa CMake:
cpack path/to/build/directory
Beroende på miljön kommer detta att samla alla nödvändiga / installerade filer för projektet och lägga dem i ett komprimerat arkiv eller självutdragande installationsprogram.
Välja en CPack-generator som ska användas
För att skapa ett paket med ett specifikt format är det möjligt att välja Generator som ska användas.
På liknande sätt som CMake kan detta göras med hjälp av -G- argumentet:
cpack -G 7Z .
Att använda den här kommandoraden skulle paketera det inbyggda projektet i den aktuella katalogen med 7-Zip arkivformat.
I skrivande stund stöder CPack version 3.5 följande generatorer som standard:
-
7Z
7-Zip-filformat (arkiv) -
IFW
Qt Installer Framework (körbar) -
NSIS
Null Soft Installer (körbar) -
NSIS64
Null Soft Installer (64-bitars, körbar) -
STGZ
Tar GZip-komprimering (arkiv) -
TBZ2
Tar BZip2-komprimering (arkiv) -
TGZ
Tar GZip-komprimering (arkiv) -
TXZ
Tar XZ-komprimering (arkiv) -
TZ
Tar Komprimeringskompression (arkiv) -
WIX
MSI-filformat via WiX-verktyg (körbart arkiv) -
ZIP
ZIP-filformat (arkiv)
Om ingen explicerad generator tillhandahålls kommer CPack att försöka bestämma det bästa tillgängliga beroende på den faktiska miljön. Till exempel föredrar det att skapa en självutdragande körbar i Windows och bara skapa ett ZIP-arkiv om det inte finns någon lämplig verktygsuppsättning.