aboutsummaryrefslogtreecommitdiff
path: root/interpreter.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2015-09-11 00:22:56 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2015-09-11 00:23:33 +0300
commit4e8c4035e53dc2fca255b0e80f5e1390a8b40607 (patch)
tree924e1b83b3cbc853dcc41e16af84f87db32536ee /interpreter.py
parent32f72fee2553ebc42daac5c9b70386629d47190f (diff)
downloadmeson-4e8c4035e53dc2fca255b0e80f5e1390a8b40607.zip
meson-4e8c4035e53dc2fca255b0e80f5e1390a8b40607.tar.gz
meson-4e8c4035e53dc2fca255b0e80f5e1390a8b40607.tar.bz2
Can have built binaries in run_targets. Closes #264.
Diffstat (limited to 'interpreter.py')
-rw-r--r--interpreter.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/interpreter.py b/interpreter.py
index 9923892..2d86454 100644
--- a/interpreter.py
+++ b/interpreter.py
@@ -1451,11 +1451,18 @@ class Interpreter():
self.add_target(name, tg.held_object)
return tg
- @stringArgs
@noKwargs
def func_run_target(self, node, args, kwargs):
if len(args) < 2:
raise InterpreterException('Incorrect number of arguments')
+ for i in args:
+ try:
+ i = i.held_object
+ except AttributeError:
+ pass
+ if not isinstance(i, (str, build.BuildTarget)):
+ mlog.debug('Wrong type:', str(i))
+ raise InterpreterException('Invalid argument to run_target.')
name = args[0]
command = args[1]
cmd_args = args[2:]