summaryrefslogtreecommitdiff
path: root/mesonbuild/backend/xcodebackend.py
diff options
context:
space:
mode:
authorAlbert Tang <tangalbert919@yahoo.com>2023-08-12 10:15:02 -0500
committerEli Schwartz <eschwartz93@gmail.com>2024-01-26 00:42:24 -0500
commit02ee16729614ba2aae5f5d921c2ebbc1f5d19b46 (patch)
treeb7cfaa6e416b161d1ecf0d93570c42128fe49683 /mesonbuild/backend/xcodebackend.py
parentdf6926250d39583d1289d91f0b06c5a980190320 (diff)
downloadmeson-02ee16729614ba2aae5f5d921c2ebbc1f5d19b46.tar.gz
xcode: Check custom target input for extracted objects
If there are any specified, the build target that generates them must be added as a dependency.
Diffstat (limited to 'mesonbuild/backend/xcodebackend.py')
-rw-r--r--mesonbuild/backend/xcodebackend.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/mesonbuild/backend/xcodebackend.py b/mesonbuild/backend/xcodebackend.py
index c951819a5..3a70d25e9 100644
--- a/mesonbuild/backend/xcodebackend.py
+++ b/mesonbuild/backend/xcodebackend.py
@@ -585,12 +585,15 @@ class XCodeBackend(backends.Backend):
elif isinstance(d, build.BuildTarget):
dependencies.append(self.pbx_dep_map[d.get_id()])
for s in t.sources:
- if not isinstance(s, build.GeneratedList):
- continue
- build_phases.append(self.shell_targets[(tname, generator_id)])
- for d in s.depends:
- dependencies.append(self.pbx_custom_dep_map[d.get_id()])
- generator_id += 1
+ if isinstance(s, build.GeneratedList):
+ build_phases.append(self.shell_targets[(tname, generator_id)])
+ for d in s.depends:
+ dependencies.append(self.pbx_custom_dep_map[d.get_id()])
+ generator_id += 1
+ elif isinstance(s, build.ExtractedObjects):
+ source_target_id = self.pbx_dep_map[s.target.get_id()]
+ if source_target_id not in dependencies:
+ dependencies.append(source_target_id)
build_phases.append(self.shell_targets[tname])
aggregated_targets.append((ct_id, tname, self.buildconflistmap[tname], build_phases, dependencies))