From 02ee16729614ba2aae5f5d921c2ebbc1f5d19b46 Mon Sep 17 00:00:00 2001 From: Albert Tang Date: Sat, 12 Aug 2023 10:15:02 -0500 Subject: 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. --- mesonbuild/backend/xcodebackend.py | 15 +++++++++------ 1 file 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)) -- cgit v1.2.3