aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2016-03-20 18:49:53 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2016-03-20 18:49:53 +0200
commita3d49ca1ce5e6844387e8daedd2fc0713f36e540 (patch)
tree505e5c83a21121b01766bcf16b9f60d65860d948
parent6eaeb05f8b6336f7f78b6a33e1d79831a8e629c2 (diff)
parent4d9db210396c618eac0c2b3f216401c10b9a5225 (diff)
downloadmeson-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.py2
-rw-r--r--mesonbuild/build.py10
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):