diff options
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r-- | mesonbuild/interpreter.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 7dd24c5..f0ba4a9 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -2001,7 +2001,7 @@ class Interpreter(InterpreterBase): return [self.holderify(x) for x in item] if isinstance(item, build.CustomTarget): return CustomTargetHolder(item, self) - elif isinstance(item, (int, str)) or item is None: + elif isinstance(item, (int, str, bool)) or item is None: return item elif isinstance(item, build.Executable): return ExecutableHolder(item, self) @@ -2027,6 +2027,9 @@ class Interpreter(InterpreterBase): def process_new_values(self, invalues): invalues = listify(invalues) for v in invalues: + if isinstance(v, (RunTargetHolder, CustomTargetHolder, BuildTargetHolder)): + v = v.held_object + if isinstance(v, (build.BuildTarget, build.CustomTarget, build.RunTarget)): self.add_target(v.name, v) elif isinstance(v, list): @@ -2045,6 +2048,8 @@ class Interpreter(InterpreterBase): self.process_new_values(v.sources[0]) elif hasattr(v, 'held_object'): pass + elif isinstance(v, (int, str, bool)): + pass else: raise InterpreterException('Module returned a value of unknown type.') |