Spec-Zone.ru › CMake 3.31

CPACK_CUSTOM_INSTALL_VARIABLES

Добавлена в версии 3.21.

Переменные CPack (устанавливаются, например, через cpack -D, CPackConfig.cmake или CPACK_PROJECT_CONFIG_FILE скрипты) не отображаются напрямую в скриптах установки. Вместо этого можно передать список пар varName=value в переменной CPACK_CUSTOM_INSTALL_VARIABLES. При установке каждый элемент списка приведет к установке переменной указанного имени (varName) со значением указанной value. Переменная = может быть опущена для пустого value.

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

Пример

install(FILES large.txt DESTINATION data)

install(CODE [[
  if(ENABLE_COMPRESSION)
    # "run-compressor" is a fictional tool that produces
    # large.txt.xz from large.txt and then removes the input file
    execute_process(COMMAND run-compressor $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/large.txt)
  endif()
]])

В приведенном выше примере cpack по умолчанию выполнит скрипт установки с ENABLE_COMPRESSION не заданным, что приведет к созданию пакета, содержащего не сжатые large.txt. Это можно переопределить при вызове cpack следующим образом:

cpack -D "CPACK_CUSTOM_INSTALL_VARIABLES=ENABLE_COMPRESSION=TRUE"

Тогда скрипт установки будет выполнен с ENABLE_COMPRESSION установленной в значение TRUE, что приведет к созданию пакета, содержащего сжатые large.txt.xz вместо этого.

© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.31/variable/CPACK_CUSTOM_INSTALL_VARIABLES.html

Spec-Zone.ru

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