Spec-Zone.ru › CMake 3.5

CPack

Создание установочных пакетов двоичных и исходных файлов.

Переменные, общие для всех генераторов CPack

Модуль CPack генерирует установочные пакеты двоичных и исходных файлов в различных форматах с помощью программы cpack. Включение модуля CPack добавляет две новые цели в сгенерированные makefiles: package и package_source, которые строят соответственно установочные пакеты двоичных и исходных файлов. Сгенерированные двоичные установочные пакеты содержат всё, что установлено с помощью команды INSTALL CMake (и устаревших команд INSTALL_FILES, INSTALL_PROGRAMS и INSTALL_TARGETS).

Для некоторых типов двоичных установочных пакетов (включая графические установщики на Mac OS X и Windows), CPack генерирует установщики, которые позволяют пользователю выбирать отдельные компоненты приложения для установки. Смотрите модуль CPackComponent для получения дополнительной информации.

Переменная CPACK_GENERATOR имеет различное значение в разных контекстах. В файле CMakeLists.txt CPACK_GENERATOR — это список генераторов: при запуске без дополнительных аргументов CPack будет перебирать этот список и генерировать один пакет для каждого генератора. В файле CPACK_PROJECT_CONFIG_FILE, однако, CPACK_GENERATOR — это строка, содержащая имя одного генератора. Если вам необходима логика для управления другими настройками cpack для каждого генератора, то вам нужен файл CPACK_PROJECT_CONFIG_FILE.

В самой структуре исходных файлов CMake содержится файл CPACK_PROJECT_CONFIG_FILE. Обратитесь к файлу CMakeCPackOptions.cmake.in верхнего уровня для примера.

Если задан, файл CPACK_PROJECT_CONFIG_FILE включается автоматически для каждого генератора. Он должен содержать только переопределения.

Вот как это работает:

  • Запускается cpack
  • он включает CPackConfig.cmake
  • он перебирает список генераторов, указанных в переменной CPACK_GENERATOR этого файла (если не указан конкретный генератор через -G в командной строке…)
  • для каждого генератора:
    • переменная CPACK_GENERATOR устанавливается на текущий генератор
    • включается файл CPACK_PROJECT_CONFIG_FILE
    • генерируется пакет для этого генератора

Ключевой момент: для каждого генератора, указанного в CPACK_GENERATOR в файле CPackConfig.cmake, cpack сбросит внутреннее значение CPACK_GENERATOR на текущий и затем включит файл CPACK_PROJECT_CONFIG_FILE.

Прежде чем включать этот модуль CPack в файл CMakeLists.txt, можно задать ряд переменных для настройки создаваемых установочных пакетов. Наиболее часто используемые переменные:

CPACK_PACKAGE_NAME

Имя пакета (или приложения). Если не указано, по умолчанию используется имя проекта.

CPACK_PACKAGE_VENDOR

Имя поставщика пакета. (например, «Kitware»).

CPACK_PACKAGE_DIRECTORY

Директория, в которой CPack выполняет создание пакета. Если не задана, по умолчанию используется (внутри) директория сборки. Эта переменная может быть определена в файле конфигурации CPack или в качестве опции командной строки cpack «-B». Если задана опция командной строки, она переопределяет значение, найденное в файле конфигурации.

CPACK_PACKAGE_VERSION_MAJOR

Главная версия пакета

CPACK_PACKAGE_VERSION_MINOR

Дополнительная версия пакета

CPACK_PACKAGE_VERSION_PATCH

Исправительная версия пакета

CPACK_PACKAGE_DESCRIPTION_FILE

Текстовый файл, используемый для описания проекта. Используется, например, на начальном экране установочного пакета Windows, сгенерированного CPack, для описания проекта.

CPACK_PACKAGE_DESCRIPTION_SUMMARY

Краткое описание проекта (несколько слов).

CPACK_PACKAGE_FILE_NAME

Имя генерируемого файла пакета без расширения. Например, cmake-2.6.1-Linux-i686. Значение по умолчанию:

${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME}.
CPACK_PACKAGE_INSTALL_DIRECTORY

Директория установки на целевой системе. Это может быть использовано некоторыми генераторами CPack, например, NSIS, для создания директории установки, например, «CMake 2.5», ниже префикса установки. Все устанавливаемые элементы будут помещены в эту директорию.

CPACK_PACKAGE_ICON

Изображение бренда, которое будет отображаться в установщике (используется в графических установщиках).

CPACK_PROJECT_CONFIG_FILE

Файл конфигурации проекта CPack во время выполнения CPack. Этот файл включается во время cpack, один раз на генератор, после того как CPack установил CPACK_GENERATOR на фактически используемый генератор. Он позволяет задавать переменные CPACK_* для каждого генератора в момент работы cpack.

CPACK_RESOURCE_FILE_LICENSE

Лицензия, которая будет встроена в установщик. Обычно она отображается пользователю установщиком (часто с явной кнопкой «Принять», для графических установщиков) перед установкой. Этот файл лицензии НЕ добавляется к устанавливаемым файлам, но используется некоторыми генераторами CPack, например, NSIS. Если вы хотите установить файл лицензии (который может быть таким же) вместе с вашим проектом, вы должны добавить соответствующую команду INSTALL CMake в CMakeLists.txt.

CPACK_RESOURCE_FILE_README

Файл ReadMe, который будет вставлен в установщик. Он обычно подробно описывает назначение проекта во время установки. Не все генераторы CPack используют этот файл.

CPACK_RESOURCE_FILE_WELCOME

Файл приветствия, который будет вставлен в установщик. Он приветствует пользователей этого установщика. Обычно используется в графических установщиках на Windows и Mac OS X.

CPACK_MONOLITHIC_INSTALL

Отключает механизм установки компонентов. При установке значение игнорируется, и все устанавливаемые элементы помещаются в один пакет «MONOLITHIC». Некоторые генераторы CPack по умолчанию выполняют монолитную установку и могут быть попрошены выполнить установку компонентов, установив CPACK_<GENNAME>_COMPONENT_INSTALL в 1/TRUE.

CPACK_GENERATOR

Список генераторов CPack для использования. Если не указано, CPack создаст набор опций CPACK_BINARY_<GENNAME> (например, CPACK_BINARY_NSIS), позволяющий пользователю включать/отключать отдельные генераторы. Эта переменная может использоваться как в командной строке, так и в:

cpack -D CPACK_GENERATOR="ZIP;TGZ" /path/to/build/tree
CPACK_OUTPUT_CONFIG_FILE

Имя файла конфигурации CPack для двоичных установщиков. Этот файл — конфигурация CPack, сгенерированная модулем CPack для двоичных установщиков. По умолчанию — CPackConfig.cmake.

CPACK_PACKAGE_EXECUTABLES

Перечисляет каждый из исполняемых файлов и соответствующую текстовую метку, используемые для создания ярлыков в меню Пуск. Например, установив это на список ccmake;CMake, будет создан ярлык с именем «CMake», который будет запускать установленный исполняемый файл ccmake. Не все генераторы CPack его используют (по крайней мере, NSIS, WIX и OSXX11 — нет).

CPACK_STRIP_FILES

Список файлов, которые нужно удалить. Начиная с CMake 2.6.0, CPACK_STRIP_FILES будет логической переменной, которая включает удаление всех файлов (список файлов оценивается как TRUE в CMake, поэтому это изменение совместимо).

CPACK_VERBATIM_VARIABLES

Если установлено в TRUE, значения переменных с префиксом CPACK будут экранированы перед записью в конфигурационные файлы, так что программа cpack получит их точно так, как они были указаны. В противном случае, символы, такие как кавычки и обратные косые черты, могут привести к ошибкам парсинга или изменить значение, полученное программой cpack. По умолчанию — FALSE для обратной совместимости.

  • Обязательно: НЕТ
  • По умолчанию: FALSE

Следующие переменные CPack специфичны для пакетов исходных кодов и не повлияют на двоичные пакеты:

CPACK_SOURCE_PACKAGE_FILE_NAME

Имя пакета исходных кодов. Например, cmake-2.6.1.

CPACK_SOURCE_STRIP_FILES

Список файлов в дереве исходных кодов, которые будут удалены. Начиная с CMake 2.6.0, CPACK_SOURCE_STRIP_FILES будет логической переменной, которая включает удаление всех файлов (список файлов оценивается как TRUE в CMake, поэтому это изменение совместимо).

CPACK_SOURCE_GENERATOR

Список генераторов, используемых для пакетов исходных кодов. Как и CPACK_GENERATOR, если это не указано, CPack создаст набор опций (например, CPACK_SOURCE_ZIP), позволяющих пользователю выбирать, какие пакеты будут сгенерированы.

CPACK_SOURCE_OUTPUT_CONFIG_FILE

Имя файла конфигурации CPack для исходных установщиков. Этот файл — конфигурация CPack, сгенерированная модулем CPack для исходных установщиков. По умолчанию — CPackSourceConfig.cmake.

CPACK_SOURCE_IGNORE_FILES

Шаблон файлов в дереве исходных кодов, которые не будут включены в пакет при создании пакета исходных кодов. Это список шаблонов регулярных выражений (которые необходимо должным образом экранировать), например, /CVS/;/.svn/;.swp$;.#;/#;.*~;cscope.*

Следующие переменные предназначены для расширенного использования CPack:

CPACK_CMAKE_GENERATOR

Какой генератор CMake следует использовать, если проект является проектом CMake. По умолчанию используется значение CMAKE_GENERATOR. Некоторым пользователям может потребоваться изменить это значение.

CPACK_INSTALL_CMAKE_PROJECTS

Список из четырёх значений, определяющих, какой проект установить. Четыре значения: директория сборки, имя проекта, компонент проекта, директория. Если не указано, CPack создаст установщик, который установит всё.

CPACK_SYSTEM_NAME

Имя системы, по умолчанию используется значение ${CMAKE_SYSTEM_NAME}.

CPACK_PACKAGE_VERSION

Полная версия пакета, используется внутри. По умолчанию она строится из CPACK_PACKAGE_VERSION_MAJOR, CPACK_PACKAGE_VERSION_MINOR и CPACK_PACKAGE_VERSION_PATCH.

CPACK_TOPLEVEL_TAG

Директория для установленных файлов.

CPACK_INSTALL_COMMANDS

Дополнительные команды для установки компонентов.

END_OF_DOCUMENT_MARKER ```
CPACK_INSTALLED_DIRECTORIES

Дополнительные каталоги для установки.

CPACK_PACKAGE_INSTALL_REGISTRY_KEY

Ключ реестра, используемый при установке этого проекта. Используется только установщиком для Windows. Значение по умолчанию основано на каталоге установки.

CPACK_CREATE_DESKTOP_LINKS

Список ярлыков рабочего стола для создания. Каждый ярлык рабочего стола требует соответствующую ярлык в меню Пуск, созданную с помощью CPACK_PACKAGE_EXECUTABLES.

CPACK_BINARY_<GENNAME>

Сгенерированные CPack опции для генераторов библиотек. Модуль CPack.cmake (если CPACK_GENERATOR не задан) генерирует набор опций CMake (см. команду опции CMake), которые могут быть использованы для выбора генератора(ов) CPack для запуска целевого пакета.

Предоставьте опции для выбора генераторов. Мы можем проверить здесь наличие необходимых инструментов для генераторов и установить значения по умолчанию в соответствии с результатами

© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.5/module/CPack.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API