diff options
author | Nicolas Schneider <nioncode+git@gmail.com> | 2016-03-16 00:00:39 +0100 |
---|---|---|
committer | Nicolas Schneider <nioncode+git@gmail.com> | 2016-03-16 00:00:39 +0100 |
commit | 4d9db210396c618eac0c2b3f216401c10b9a5225 (patch) | |
tree | 7dfceb2ed291b10909552e073c5a76566700819e | |
parent | a3004652eaa8eef877ccf009e7a6ec8e32ad3475 (diff) | |
download | meson-4d9db210396c618eac0c2b3f216401c10b9a5225.zip meson-4d9db210396c618eac0c2b3f216401c10b9a5225.tar.gz meson-4d9db210396c618eac0c2b3f216401c10b9a5225.tar.bz2 |
vs2010: fix dependencies of CustomTarget
-rw-r--r-- | mesonbuild/backend/vs2010backend.py | 2 | ||||
-rw-r--r-- | mesonbuild/build.py | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py index a72681b..06229ad 100644 --- a/mesonbuild/backend/vs2010backend.py +++ b/mesonbuild/backend/vs2010backend.py @@ -123,7 +123,7 @@ class Vs2010Backend(backends.Backend): all_deps = {} target = self.build.targets[p[0]] if isinstance(target, build.CustomTarget): - for d in target.dependencies: + for d in target.get_target_dependencies(): all_deps[d.get_id()] = True return all_deps if isinstance(target, build.RunTarget): diff --git a/mesonbuild/build.py b/mesonbuild/build.py index 315e4bc..ab9d0d5 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -806,6 +806,16 @@ class CustomTarget: def get_id(self): return self.name + self.type_suffix() + def get_target_dependencies(self): + deps = self.dependencies[:] + deps += self.extra_depends + for c in self.sources: + if hasattr(c, 'held_object'): + c = c.held_object + if isinstance(c, BuildTarget) or isinstance(c, CustomTarget): + deps.append(c) + return deps + def process_kwargs(self, kwargs): self.sources = kwargs.get('input', []) if not isinstance(self.sources, list): |