From 3efb51a958d81e40fb3e29481fc4c1887daefb7f Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Mon, 6 Jun 2022 10:52:05 -0700 Subject: 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. --- mesonbuild/backend/vs2010backend.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py index d14d5fd..6a182d9 100644 --- a/mesonbuild/backend/vs2010backend.py +++ b/mesonbuild/backend/vs2010backend.py @@ -270,12 +270,15 @@ class Vs2010Backend(backends.Backend): result[o.target.get_id()] = o.target return result.items() - def get_target_deps(self, t, recursive=False): - all_deps = {} + def get_target_deps(self, t: T.Dict[T.Any, build.Target], recursive=False): + all_deps: T.Dict[str, build.Target] = {} for target in t.values(): if isinstance(target, build.CustomTarget): 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): for d in target.get_dependencies(): all_deps[d.get_id()] = d -- cgit v1.1