Поделиться через


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 команды.

OUTPUT_STRIP_TRAILING_WHITESPACE

Удаляет конечные пробелы перед настройкой OUTPUT_VARIABLE.

ERROR_VARIABLE

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

ERROR_STRIP_TRAILING_WHITESPACE

Удаляет конечные пробелы перед настройкой ERROR_VARIABLE.

SAVE_LOG_FILES

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

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

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

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

Примеры

Исходный код

scripts/cmake/vcpkg_execute_required_process.cmake