vcpkg/docs/maintainers/vcpkg_execute_required_process.md
Jack·Boos·Yu fdfe770571
[gdal] Update to 3.1.3 (#13449)
* [vcpkg_*_nmake] Add option INSTALL_COMMAND

* [gdal] Update to 3.1.3 and switch to vcpkg_*_nmake on Windows

* [vcpkg_build_make] Add option MAKEFILE

* fix install on windows, fix linux build

* fix options position

* [gdal] Fix linux build

* [gdal] Fix expat library name

* [gdal] Fix geos library name

* [gdal] Fix cmake wrapper

* [pdal] Fix dependency geos

* [pdal] Fix PDALConfig.cmake

* [gdal] Fix dependency cfitsio on *inx

* disable cfitsio temporary

* [gdal] Correct cmake wrapper and usage

* [gdal] Fix tools on windows-static

* Revert a9ac823007

* Apply suggestions

* [vcpkg_build_nmake] Fix install command

* [vcpkg_build_nmake] Fix install command

* regenerate docs

* [gdal] Update dependency iconv and charset library names

* [gdal] add json-c as a dependency on non-windows

Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
2020-11-20 10:29:25 -08:00

50 lines
1.6 KiB
Markdown

# vcpkg_execute_required_process
Execute a process with logging and fail the build if the command fails.
## Usage
```cmake
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>]
)
```
## Parameters
### ALLOW_IN_DOWNLOAD_MODE
Allows the command to execute in Download Mode.
[See execute_process() override](../../scripts/cmake/execute_process.cmake).
### 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.
## Examples
* [ffmpeg](https://github.com/Microsoft/vcpkg/blob/master/ports/ffmpeg/portfile.cmake)
* [openssl](https://github.com/Microsoft/vcpkg/blob/master/ports/openssl/portfile.cmake)
* [boost](https://github.com/Microsoft/vcpkg/blob/master/ports/boost/portfile.cmake)
* [qt5](https://github.com/Microsoft/vcpkg/blob/master/ports/qt5/portfile.cmake)
## Source
[scripts/cmake/vcpkg_execute_required_process.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_execute_required_process.cmake)