diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2016-03-20 18:49:53 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2016-03-20 18:49:53 +0200 |
commit | a3d49ca1ce5e6844387e8daedd2fc0713f36e540 (patch) | |
tree | 505e5c83a21121b01766bcf16b9f60d65860d948 | |
parent | 6eaeb05f8b6336f7f78b6a33e1d79831a8e629c2 (diff) | |
parent | 4d9db210396c618eac0c2b3f216401c10b9a5225 (diff) | |
download | meson-a3d49ca1ce5e6844387e8daedd2fc0713f36e540.zip meson-a3d49ca1ce5e6844387e8daedd2fc0713f36e540.tar.gz meson-a3d49ca1ce5e6844387e8daedd2fc0713f36e540.tar.bz2 |
Merge pull request #453 from nioncode/vs-customTargetDependencies
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 ac4f0b2..8d9d4e8 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): |