vcpkg/docs/maintainers/vcpkg_execute_required_process.md
Kai Pastor 687f4aab11
Save meson logs on failure (#25806)
* [vcpkg_configure_meson] Save log files on error

* Document SAVE_LOG_FILES option
2022-07-18 13:21:36 -07:00

2.1 KiB

vcpkg_execute_required_process

The latest version of this document lives in the vcpkg repo.

Execute a process with logging and fail the build if the command fails.

Usage

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> [<relative-path>...]]
)

Parameters

ALLOW_IN_DOWNLOAD_MODE

Allows the command to execute in Download Mode. See execute_process() override.

COMMAND

The command to be executed, along with its arguments.

WORKING_DIRECTORY

The directory to execute the command in.

LOGNAME

The prefix to use for the log files.

TIMEOUT

Optional timeout after which to terminate the command.

OUTPUT_VARIABLE

Optional variable to receive stdout of the command.

ERROR_VARIABLE

Optional variable to receive stderr of the command.

This should be a unique name for different triplets so that the logs don't conflict when building multiple at once.

SAVE_LOG_FILES

Optional files to be moved from the working directory to ${CURRENT_BUILDTREES_DIR}. The files are copied even if the process failed. The target file names are constructed from the LOGNAME parameter and the source filename. If the target file name doesn't end in .log, this suffix is appended. This helps to collect relevant log files in CI setups.

Examples

Source

scripts/cmake/vcpkg_execute_required_process.cmake