Spec-Zone.ru › CMake 3.11

CPackComponent

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

Переменные, относящиеся к компонентам CPack

Модуль CPackComponent обрабатывает компоненты в CPack. Для общей информации о CPack обратитесь к модулю CPack.

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

Установка отдельных компонентов позволяет пользователям выбирать конкретные наборы компонентов для установки во время процесса установки. Компоненты установки определяются аргументом COMPONENT команд INSTALL CMake и должны быть дополнительно описаны следующими командами CPack:

CPACK_COMPONENTS_ALL

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

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

Вместо указания всех желаемых компонентов можно получить список всех определенных компонентов, а затем удалить нежелательные из списка. Команда get_cmake_property() может быть использована для получения свойства COMPONENTS, а затем команда list(REMOVE_ITEM) может быть использована для удаления нежелательных. Например, чтобы использовать все определенные компоненты, кроме foo и bar, выполните:

get_cmake_property(CPACK_COMPONENTS_ALL COMPONENTS)
list(REMOVE_ITEM CPACK_COMPONENTS_ALL "foo" "bar")
CPACK_<GENNAME>_COMPONENT_INSTALL

Включить/выключить установку компонентов для генератора CPack <GENNAME>.

Каждый генератор CPack (RPM, DEB, ARCHIVE, NSIS, DMG и т. д.) имеет поведение по умолчанию. Например, RPM создает монолитный установщик, в то время как NSIS создает установщик по компонентам. Можно изменить поведение по умолчанию, установив эту переменную в 0/1 или OFF/ON.

CPACK_COMPONENTS_GROUPING

Указывает, как компоненты группируются для многопакетных генераторов CPack, поддерживающих компоненты.

Некоторые генераторы, такие как RPM или ARCHIVE (TGZ, ZIP и т. д.), генерируют несколько файлов пакетов, когда требуется компонентная укладка. Они группируют компоненты по-разному в зависимости от значения этой переменной:

  • ONE_PER_GROUP (по умолчанию): создаёт один файл пакета на каждую группу компонентов
  • ALL_COMPONENTS_IN_ONE: создаёт один пакет со всеми (запрошенными) компонентами
  • IGNORE: создаёт один пакет на каждый компонент, т. е. игнорирует группировку компонентов

Можно указать разные группировки для разных генераторов CPack, используя CPACK_PROJECT_CONFIG_FILE.

CPACK_COMPONENT_<compName>_DISPLAY_NAME

Имя для отображения компонента.

CPACK_COMPONENT_<compName>_DESCRIPTION

Описание компонента.

CPACK_COMPONENT_<compName>_GROUP

Группа компонента.

CPACK_COMPONENT_<compName>_DEPENDS

Зависимости (список компонентов), от которых зависит этот компонент.

CPACK_COMPONENT_<compName>_HIDDEN

Истина, если этот компонент скрыт от пользователя.

CPACK_COMPONENT_<compName>_REQUIRED

Истина, если этот компонент обязателен.

CPACK_COMPONENT_<compName>_DISABLED

Истина, если этот компонент по умолчанию не выбран для установки.

cpack_add_component

Описывает компонент установки CPack, имя которого задаётся аргументом COMPONENT команды INSTALL CMake.

cpack_add_component(compname
                    [DISPLAY_NAME name]
                    [DESCRIPTION description]
                    [HIDDEN | REQUIRED | DISABLED ]
                    [GROUP group]
                    [DEPENDS comp1 comp2 ... ]
                    [INSTALL_TYPES type1 type2 ... ]
                    [DOWNLOADED]
                    [ARCHIVE_FILE filename]
                    [PLIST filename])

Команда cmake_add_component описывает компонент установки, который пользователь может выбрать или убрать во время графической установки. compname — имя компонента, как указано в аргументе COMPONENT одной или нескольких команд INSTALL CMake.

DISPLAY_NAME — отображаемое имя компонента, используемое в графических установщиках для отображения имени компонента. Это значение может быть любой строкой.

DESCRIPTION — расширенное описание компонента, используемое в графических установщиках для предоставления пользователю дополнительной информации о компоненте. Описания могут занимать несколько строк, используя \n в качестве разделителя строк. Обычно эти описания должны занимать не более нескольких строк.

HIDDEN указывает, что этот компонент будет скрыт в графическом установщике, поэтому пользователь не может напрямую изменять, установлен ли он или нет.

REQUIRED указывает, что этот компонент обязателен и, следовательно, всегда будет установлен. Он будет виден в графическом установщике, но его нельзя отключить. (Обычно обязательные компоненты отображаются серым цветом).

DISABLED указывает, что этот компонент по умолчанию отключён (не выбран). Пользователь может выбрать этот компонент для установки, если он также не скрыт.

DEPENDS перечисляет компоненты, от которых зависит этот компонент. Если этот компонент выбран, каждый из перечисленных компонентов также должен быть выбран. Информация о зависимостях закодирована в самом установщике, так что пользователи не могут устанавливать несовместимые наборы компонентов.

GROUP задаёт имя группы компонента, к которой принадлежит этот компонент. Если не указано, компонент будет самостоятельным, не принадлежащим к какой-либо группе. Группы компонентов описываются командой cpack_add_component_group, подробно описанной ниже.

INSTALL_TYPES перечисляет типы установки, к которым принадлежит этот компонент. При выборе одного из этих типов установки этот компонент автоматически будет выбран. Типы установки описываются командой cpack_add_install_type, описанной ниже.

DOWNLOADED указывает, что этот компонент должен загружаться в процессе установки, а не включаться в сам установщик. Для получения дополнительной информации см. команду cpack_configure_downloads.

ARCHIVE_FILE предоставляет имя файла архива, созданного CPack для загрузки компонентов. Если не указано, CPack создаст файл с именем, основанным на CPACK_PACKAGE_FILE_NAME и имени компонента. Для получения дополнительной информации см. cpack_configure_downloads.

PLIST указывает имя файла, который передаётся в pkgbuild с аргументом --component-plist при использовании генератора productbuild.

cpack_add_component_group

Описывает группу связанных компонентов CPack установки.

cpack_add_component_group(groupname
                         [DISPLAY_NAME name]
                         [DESCRIPTION description]
                         [PARENT_GROUP parent]
                         [EXPANDED]
                         [BOLD_TITLE])

Команда cpack_add_component_group описывает группу компонентов установки, которые будут отображаться вместе в списке опций. Обычно группы компонентов позволяют пользователю выбирать/сбрасывать все компоненты в группе с помощью одной опции на уровне группы. Используйте группы компонентов для уменьшения сложности установщиков с множеством опций. groupname — произвольное имя, используемое для идентификации группы в аргументе GROUP команды cpack_add_component, которое используется для размещения компонента в группе. Имя группы не должно совпадать с именем любого компонента.

DISPLAY_NAME — отображаемое имя группы компонентов, используемое в графических установщиках для отображения имени группы компонентов. Это значение может быть любой строкой.

DESCRIPTION — расширенное описание группы компонентов, используемое в графических установщиках для предоставления пользователю дополнительной информации о компонентах в этой группе. Описания могут занимать несколько строк, используя \n в качестве разделителя строк. Обычно эти описания должны занимать не более нескольких строк.

PARENT_GROUP, если указано, задаёт родительскую группу этой группы. Родительские группы используются для создания иерархии групп, обеспечивая произвольную иерархию групп.

EXPANDED указывает, что по умолчанию группа должна отображаться «раскрытой», чтобы пользователь сразу видел все компоненты внутри группы. В противном случае группа по умолчанию отображается как один элемент.

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

cpack_add_install_type

Добавляет новый тип установки, содержащий набор предопределенных выборов компонентов в графический установщик.

cpack_add_install_type(typename
                       [DISPLAY_NAME name])

Команда cpack_add_install_type идентифицирует набор предварительно выбранных компонентов, представляющих собой распространённый случай использования приложения. Например, тип установки «Разработчик» может включать приложение вместе с заголовочными файлами и библиотеками, а тип установки «Конечный пользователь» может включать только исполняемый файл приложения. Каждый компонент идентифицирует себя одним или несколькими типами установки через аргумент INSTALL_TYPES команды cpack_add_component.

DISPLAY_NAME — отображаемое имя типа установки, которое обычно отображается в раскрывающемся списке в графическом установщике. Это значение может быть любой строкой.

cpack_configure_downloads

Настройка CPack для загрузки выбранных компонентов на лету в рамках процесса установки.

cpack_configure_downloads(site
                          [UPLOAD_DIRECTORY dirname]
                          [ALL]
                          [ADD_REMOVE|NO_ADD_REMOVE])

Команда cpack_configure_downloads настраивает загрузку компонентов в процессе установки. Для каждого загружаемого компонента CPack создаст архив, содержащий содержимое этого компонента, который должен быть загружен на указанный сайт. Когда пользователь выбирает этот компонент для установки, установщик загрузит и извлечёт компонент на место. Эта функция полезна для создания небольших установщиков, которые загружают только запрошенные компоненты, экономя пропускную способность. Кроме того, установщики достаточно малы, чтобы их можно было установить в рамках обычного процесса установки, и кнопка «Изменить» в окне «Установка и удаление программ» Windows позволит добавить или удалить части приложения после первоначальной установки. В Windows функция загрузки компонентов требует плагина ZipDLL для NSIS, доступного по адресу:

http://nsis.sourceforge.net/ZipDLL_plug-in

В Mac OS X установщики, загружающие компоненты на лету, могут быть построены и установлены только на системах с Mac OS X 10.5 или новее.

Аргумент site — URL, на котором будут находиться архивы для загружаемых компонентов, например, https://cmake.org/files/2.6.1/installer/. Все архивы, созданные CPack, должны быть загружены по этому адресу.

UPLOAD_DIRECTORY — это локальный каталог, в котором CPack создаст различные архивы для каждого компонента. Содержимое этого каталога должно быть загружено в место, доступное по URL, указанному в аргументе site. Если этот параметр опущен, CPack будет использовать каталог CPackUploads внутри каталога бинарных файлов CMake для хранения сгенерированных архивов.

Флаг ALL указывает на то, что должны быть загружены все компоненты. В противном случае будут загружены только те компоненты, которые явно помечены как DOWNLOADED или для которых указан ARCHIVE_FILE. Кроме того, опция ALL подразумевает ADD_REMOVE (если не указан NO_ADD_REMOVE).

ADD_REMOVE указывает, что CPack должен установить копию установщика, которая может быть вызвана из диалогового окна «Добавить/Удалить программы» Windows (через кнопку «Изменить») для изменения набора установленных компонентов. NO_ADD_REMOVE отключает это поведение. Эта опция игнорируется в Mac OS X.

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

Spec-Zone.ru

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