backend/vs: "fix" handling of CustomTarget dependencies

This doesn't actually fix the problem, but it provides parity with what
is currently happening. I don't have access to a Windows machine to
further debug, however, so not breaking anything is the best I can do
ATM.
pull/10473/head
Dylan Baker 3 years ago committed by Jussi Pakkanen
parent fb83223af9
commit 3efb51a958
  1. 9
      mesonbuild/backend/vs2010backend.py

@ -270,12 +270,15 @@ class Vs2010Backend(backends.Backend):
result[o.target.get_id()] = o.target result[o.target.get_id()] = o.target
return result.items() return result.items()
def get_target_deps(self, t, recursive=False): def get_target_deps(self, t: T.Dict[T.Any, build.Target], recursive=False):
all_deps = {} all_deps: T.Dict[str, build.Target] = {}
for target in t.values(): for target in t.values():
if isinstance(target, build.CustomTarget): if isinstance(target, build.CustomTarget):
for d in target.get_target_dependencies(): for d in target.get_target_dependencies():
all_deps[d.get_id()] = d # FIXME: this isn't strictly correct, as the target doesn't
# Get dependencies on non-targets, such as Files
if isinstance(d, build.Target):
all_deps[d.get_id()] = d
elif isinstance(target, build.RunTarget): elif isinstance(target, build.RunTarget):
for d in target.get_dependencies(): for d in target.get_dependencies():
all_deps[d.get_id()] = d all_deps[d.get_id()] = d

Loading…
Cancel
Save