diff options
| author | Xavier Claessens <xavier.claessens@collabora.com> | 2023-11-06 08:07:07 -0500 |
|---|---|---|
| committer | Xavier Claessens <xclaesse@gmail.com> | 2024-03-15 11:38:54 -0400 |
| commit | 6b569527bca9354be77769f91a0607cfd692d861 (patch) | |
| tree | 27496fdf3fff8ad902557e72d393e04501156ad9 /mesonbuild/compilers/compilers.py | |
| parent | b1358ef61f12f86b900bfa8071ae24c8d3468845 (diff) | |
| download | meson-6b569527bca9354be77769f91a0607cfd692d861.tar.gz | |
compilers: Allow setting env and workdir for run checks
This is not exposed in API, but will be used internally.
Diffstat (limited to 'mesonbuild/compilers/compilers.py')
| -rw-r--r-- | mesonbuild/compilers/compilers.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index 6b598622c..474c87eb5 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -625,7 +625,9 @@ class Compiler(HoldableObject, metaclass=abc.ABCMeta): def run(self, code: 'mesonlib.FileOrString', env: 'Environment', extra_args: T.Union[T.List[str], T.Callable[[CompileCheckMode], T.List[str]], None] = None, - dependencies: T.Optional[T.List['Dependency']] = None) -> RunResult: + dependencies: T.Optional[T.List['Dependency']] = None, + run_env: T.Optional[T.Dict[str, str]] = None, + run_cwd: T.Optional[str] = None) -> RunResult: need_exe_wrapper = env.need_exe_wrapper(self.for_machine) if need_exe_wrapper and self.exe_wrapper is None: raise CrossNoRunException('Can not run test applications in this cross environment.') @@ -638,7 +640,7 @@ class Compiler(HoldableObject, metaclass=abc.ABCMeta): else: cmdlist = [p.output_name] try: - pe, so, se = mesonlib.Popen_safe(cmdlist) + pe, so, se = mesonlib.Popen_safe(cmdlist, env=run_env, cwd=run_cwd) except Exception as e: mlog.debug(f'Could not run: {cmdlist} (error: {e})\n') return RunResult(False) |
