Spec-Zone.ru › CMake 3.10

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 или ВЫКЛ/ВКЛ.

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 будет создавать различные архивы для каждого компонента. Содержимое этого каталога должно быть загружено по адресу, указанному в аргументе site. Если этот аргумент опущен, CPack будет использовать каталог CPackUploads в каталоге библиотек CMake для хранения созданных архивов.

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

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

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

Spec-Zone.ru

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