aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/build.py
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2016-07-01 14:43:51 +0530
committerNirbheek Chauhan <nirbheek@centricular.com>2016-07-01 20:50:47 +0530
commit64cb70441bce61da3258fca93df5baac2eb310ea (patch)
tree594e946f136a10cd6b550bd4e7f64163548a5e16 /mesonbuild/build.py
parent2e986ae30dbcc4505db36497adf943d119bc5a4e (diff)
downloadmeson-64cb70441bce61da3258fca93df5baac2eb310ea.zip
meson-64cb70441bce61da3258fca93df5baac2eb310ea.tar.gz
meson-64cb70441bce61da3258fca93df5baac2eb310ea.tar.bz2
CustomTarget: Use mesonlib.File objects as-is in the command to be run
This allows us to output either the relative or absolute path as requested. Fixes usage of configure_file inside CustomTarget commands with the VS backends.
Diffstat (limited to 'mesonbuild/build.py')
-rw-r--r--mesonbuild/build.py4
1 files changed, 1 insertions, 3 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index 302f824..3ca7bf2 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -989,7 +989,7 @@ class CustomTarget:
for i, c in enumerate(cmd):
if hasattr(c, 'held_object'):
c = c.held_object
- if isinstance(c, str):
+ if isinstance(c, str) or isinstance(c, File):
final_cmd.append(c)
elif isinstance(c, dependencies.ExternalProgram):
if not c.found():
@@ -1005,8 +1005,6 @@ class CustomTarget:
if not isinstance(s, str):
raise InvalidArguments('Array as argument %d contains a non-string.' % i)
final_cmd.append(s)
- elif isinstance(c, File):
- final_cmd.append(os.path.join(c.subdir, c.fname))
else:
raise InvalidArguments('Argument %s in "command" is invalid.' % i)
self.command = final_cmd