aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2021-04-15 17:51:34 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2021-04-16 18:14:01 +0300
commitaaae1b2a30b656e5a47b0dae96603d3ad8ec5d12 (patch)
tree4a30fd2ea65d2f14898237ee0ff75e3bb16d995a
parent39f963988b15312db1270f692646a636cac9211c (diff)
downloadmeson-aaae1b2a30b656e5a47b0dae96603d3ad8ec5d12.zip
meson-aaae1b2a30b656e5a47b0dae96603d3ad8ec5d12.tar.gz
meson-aaae1b2a30b656e5a47b0dae96603d3ad8ec5d12.tar.bz2
Xcode: handle capturing generators.
-rw-r--r--mesonbuild/backend/xcodebackend.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/mesonbuild/backend/xcodebackend.py b/mesonbuild/backend/xcodebackend.py
index 4271748..e7f6846 100644
--- a/mesonbuild/backend/xcodebackend.py
+++ b/mesonbuild/backend/xcodebackend.py
@@ -981,7 +981,13 @@ class XCodeBackend(backends.Backend):
o = os.path.join(self.get_target_private_dir(t), o_base)
args = [x.replace("@INPUT@", infilename).replace('@OUTPUT@', o).replace('@BUILD_DIR@', self.get_target_private_dir(t)) for x in base_args]
args = self.replace_outputs(args, self.get_target_private_dir(t), outfilelist)
- commands.append(exe_arr + args)
+ args = self.replace_extra_args(args, genlist)
+ if generator.capture:
+ # When capturing, stdout is the output. Forward it with the shell.
+ full_command = ['('] + exe_arr + args + ['>', o, ')']
+ else:
+ full_command = exe_arr + args
+ commands.append(full_command)
gen_dict.add_item('runOnlyForDeploymentPostprocessing', 0)
gen_dict.add_item('shellPath', '/bin/sh')
quoted_cmds = []