Spec-Zone.ru › CMake 3.8

CPackComponent

Создание установочных пакетов библиотек и исходного кода

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

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

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

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

CPACK_COMPONENTS_ALL

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

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

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

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

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.

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 binary для хранения сгенерированных архивов.

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

END_OF_DOCUMENT_MARKER

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.8/module/CPackComponent.html

Spec-Zone.ru

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