aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2021-04-17 20:08:07 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2021-04-17 20:08:07 +0300
commit9e5c2cab999905791cbf1f7ac039e64689c445ef (patch)
tree9dc2f868ef6790e45adb023a76ba5ed157ce241d
parentce0835a4b9b2cd64a913148af71e78ef7bcc10b1 (diff)
downloadmeson-9e5c2cab999905791cbf1f7ac039e64689c445ef.zip
meson-9e5c2cab999905791cbf1f7ac039e64689c445ef.tar.gz
meson-9e5c2cab999905791cbf1f7ac039e64689c445ef.tar.bz2
Xcode: add proper target dependencies to custom targets.
-rw-r--r--mesonbuild/backend/xcodebackend.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/mesonbuild/backend/xcodebackend.py b/mesonbuild/backend/xcodebackend.py
index 606469a..9635e82 100644
--- a/mesonbuild/backend/xcodebackend.py
+++ b/mesonbuild/backend/xcodebackend.py
@@ -909,9 +909,9 @@ class XCodeBackend(backends.Backend):
ntarget_dict.add_item('buildPhases', buildphases_array)
generator_id = 0
for g in t.generated:
- if isinstance(g, build.CustomTarget):
- buildphases_array.add_item(self.shell_targets[g.get_id()], f'/* {g.name} */')
- elif isinstance(g, build.GeneratedList):
+ # Custom target are handled via inter-target dependencies.
+ # Generators are built as a shellscriptbuildphase.
+ if isinstance(g, build.GeneratedList):
buildphases_array.add_item(self.shell_targets[(tname, generator_id)], 'Generator {}/{}'.format(generator_id, tname))
generator_id += 1
for bpname, bpval in t.buildphasemap.items():
@@ -934,6 +934,8 @@ class XCodeBackend(backends.Backend):
dep_array.add_item(idval, 'PBXTargetDependency')
generator_id = 0
for o in t.generated:
+ if isinstance(o, build.CustomTarget):
+ dep_array.add_item(self.pbx_custom_dep_map[o.get_id()], o.name)
if not isinstance(o, build.GeneratedList):
continue