vcpkg_execute_required_process

Выполните процесс с ведением журнала и сбой сборки, если команда завершается ошибкой.

Использование

vcpkg_execute_required_process(
    COMMAND <${PERL}> [<arguments>...]
    WORKING_DIRECTORY <${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg>
    LOGNAME <build-${TARGET_TRIPLET}-dbg>
    [TIMEOUT <seconds>]
    [OUTPUT_VARIABLE <var>]
    [ERROR_VARIABLE <var>]
    [SAVE_LOG_FILES [<relative-path> [ALIAS <unique-alias>]]...]
)

Параметры

ALLOW_IN_DOWNLOAD_MODE

Позволяет выполнить команду в режиме загрузки.

КОМАНДА

Команда, выполняемая вместе с его аргументами.

WORKING_DIRECTORY

Каталог для выполнения команды.

LOGNAME

Префикс, используемый для файлов журнала.

TIMEOUT

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

OUTPUT_VARIABLE

Необязательная переменная для получения stdout команды.

ERROR_VARIABLE

Необязательная переменная для получения stderr команды.

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

SAVE_LOG_FILES

Необязательные файлы для перемещения из рабочего каталога ${CURRENT_BUILDTREES_DIR}в .

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

Добавлено в vcpkg версии 2023.01.10

Параметр ALIAS после относительного имени пути заменяет поколение имени целевого файла значением <unique-alias>.

Примеры

Оригинал

scripts/cmake/vcpkg_execute_required_process.cmake