aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2016-06-17 15:38:43 +0530
committerNirbheek Chauhan <nirbheek@centricular.com>2016-06-17 16:46:57 +0530
commit9e5a2c5e267e01fc3ccbc7f5bbdf7db28e7f6635 (patch)
treedc4cd24cbc3058b738f6b5de03ab6791a2c736c0
parent68dbbeb78ff644f26d8cdd890218763ebf8afac4 (diff)
downloadmeson-9e5a2c5e267e01fc3ccbc7f5bbdf7db28e7f6635.zip
meson-9e5a2c5e267e01fc3ccbc7f5bbdf7db28e7f6635.tar.gz
meson-9e5a2c5e267e01fc3ccbc7f5bbdf7db28e7f6635.tar.bz2
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
-rw-r--r--mesonbuild/interpreter.py12
1 files changed, 3 insertions, 9 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index a779e99..7acff53 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):