diff options
-rw-r--r-- | mesonbuild/backend/vs2010backend.py | 9 | ||||
-rw-r--r-- | mesonbuild/interpreter.py | 12 |
2 files changed, 6 insertions, 15 deletions
diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py index 540dd04..d262e6b 100644 --- a/mesonbuild/backend/vs2010backend.py +++ b/mesonbuild/backend/vs2010backend.py @@ -495,7 +495,7 @@ class Vs2010Backend(backends.Backend): extra_args[l] += args for l, args in target.extra_args.items(): if l in extra_args: - extra_args[l] += args + extra_args[l] += compiler.unix_compile_flags_to_native(args) general_args = compiler.get_buildtype_args(self.buildtype).copy() # FIXME all the internal flags of VS (optimization etc) are represented # by their own XML elements. In theory we should split all flags to those @@ -575,11 +575,8 @@ class Vs2010Backend(backends.Backend): extra_link_args = compiler.get_option_link_args(self.environment.coredata.compiler_options) extra_link_args += compiler.get_buildtype_linker_args(self.buildtype) for l in self.environment.coredata.external_link_args.values(): - for a in l: - extra_link_args.append(a) - for l in target.link_args: - for a in l: - extra_link_args.append(a) + extra_link_args += compiler.unix_link_flags_to_native(l) + extra_link_args += compiler.unix_link_flags_to_native(target.link_args) if len(extra_link_args) > 0: extra_link_args.append('%(AdditionalOptions)') ET.SubElement(link, "AdditionalOptions").text = ' '.join(extra_link_args) 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): |