Поиск…


Синтаксис

  • # Пакет каталога сборки
    pack [PATH]
  • # Использовать определенный генератор
    cpack -G [GENERATOR] [PATH]
  • # Предоставить дополнительные переопределения
  • cpack -G [GENERATOR] -C [КОНФИГУРАЦИЯ] -P [ИМЯ ПАКЕТЫ] -R [ПАКЕТНАЯ ВЕРСИЯ] -B [КАТАЛОГ ПАКЕТОВ] - поставщик [ПАКЕТНЫЙ ВЫСТАВК]

замечания

CPack - это внешний инструмент, обеспечивающий быструю упаковку встроенных проектов CMake, путем сбора всех необходимых данных прямо из файлов CMakeLists.txt и используемых команд установки, таких как install_targets() .

Чтобы CPack правильно работал, CMakeLists.txt должен включать файлы или целевые объекты, которые должны быть установлены с использованием цели install .

Минимальный скрипт может выглядеть так:

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

Создание пакета для проекта CMake

Чтобы создать распространяемый пакет (например, ZIP-архив или программу установки), обычно достаточно просто вызвать CPack, используя синтаксис, очень похожий на вызов CMake:

cpack path/to/build/directory

В зависимости от среды это соберет все необходимые / установленные файлы для проекта и поместит их в сжатый архив или самораспаковывающийся установщик.

Выбор используемого генератора CPack

Чтобы создать пакет с использованием определенного формата, можно выбрать генератор, который будет использоваться.

Подобно CMake, это может быть сделано с использованием аргумента -G :

cpack -G 7Z .

Используя эту командную строку, пакет будет построен в текущем каталоге с использованием формата архива 7-Zip.

На момент написания статьи CPack версии 3.5 поддерживал следующие генераторы по умолчанию:

  • 7Z Формат файла 7-Zip (архив)
  • IFW Qt Installer Framework (исполняемый файл)
  • NSIS Null Soft Installer (исполняемый файл)
  • NSIS64 Null Soft Installer (64-разрядный, исполняемый)
  • STGZ Самораспаковывающееся сжатие tar GZip (архив)
  • TBZ2 Тар BZip2 сжатие (архив)
  • TGZ Tar GZip компрессия (архив)
  • TXZ Tar XZ компрессия (архив)
  • TZ Tar Сжатие сжатия (архив)
  • Формат файла WIX MSI через инструменты WiX (исполняемый архив)
  • ZIP формат ZIP-архива (архив)

Если явный генератор не предоставляется, CPack будет пытаться определить наилучший доступный в зависимости от реальной среды. Например, он предпочтет создать самораспаковывающийся исполняемый файл в Windows и создать только ZIP-архив, если подходящий набор инструментов не найден.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow