From 9e5a2c5e267e01fc3ccbc7f5bbdf7db28e7f6635 Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Fri, 17 Jun 2016 15:38:43 +0530 Subject: [PATCH] Use add_target() for adding targets returned from module functions Without this, the target isn't added to self.coredata.target_guids and the VS backends fail to parse the list of targets --- mesonbuild/interpreter.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index a779e9967..7acff53fb 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -1068,25 +1068,19 @@ class Interpreter(): outvalues = [] for v in invalues: if isinstance(v, build.CustomTarget): - if v.name in self.build.targets: - raise InterpreterException('Tried to create target %s which already exists.' % v.name) - self.build.targets[v.name] = v + self.add_target(v.name, v) outvalues.append(CustomTargetHolder(v)) elif isinstance(v, int) or isinstance(v, str): outvalues.append(v) elif isinstance(v, build.Executable): - if v.name in self.build.targets: - raise InterpreterException('Tried to create target %s which already exists.' % v.name) - self.build.targets[v.name] = v + self.add_target(v.name, v) outvalues.append(ExecutableHolder(v)) elif isinstance(v, list): outvalues.append(self.module_method_callback(v)) elif isinstance(v, build.GeneratedList): outvalues.append(GeneratedListHolder(v)) elif isinstance(v, build.RunTarget): - if v.name in self.build.targets: - raise InterpreterException('Tried to create target %s which already exists.' % v.name) - self.build.targets[v.name] = v + self.add_target(v.name, v) elif isinstance(v, build.InstallScript): self.build.install_scripts.append(v) elif isinstance(v, build.Data):