blob: 5803f82386bf1bdcac72399cccf7a02218b5ba3f [file] [log] [blame]
name: run_command
returns: runresult
description: |
Runs the command specified in positional arguments. `command` can be a
string, or the output of [[find_program]],
[[files]] or [[configure_file]], or [a
compiler object](#compiler-object).
Returns a [[@runresult]] object containing the result
of the invocation. The command is run from an *unspecified* directory,
and Meson will set three environment variables `MESON_SOURCE_ROOT`,
`MESON_BUILD_ROOT` and `MESON_SUBDIR` that specify the source
directory, build directory and subdirectory the target was defined in,
respectively.
See also [External commands](External-commands.md).
varargs:
name: command
type: str | file | external_program
description: The command to execute during the setup process.
kwargs:
check:
type: bool
since: 0.47.0
default: false
description: |
If `true`, the exit status code of the command will be checked,
and the configuration will fail if it is non-zero. Note that
the default value will be `true` in future releases.
capture:
type: bool
since: 0.47.0
default: true
description: |
If `true`, any output generated on stdout will be captured and returned by
the `.stdout()` method. If it is false, then `.stdout()` will return an
empty string.
env:
type: env | list[str] | dict[str]
since: 0.50.0
description: |
environment variables to set,
such as `['NAME1=value1', 'NAME2=value2']`,
or an [[@env]] object which allows more sophisticated
environment juggling. *(Since 0.52.0)* A dictionary is also accepted.