diff options
| author | Albert Tang <tangalbert919@yahoo.com> | 2023-08-12 10:15:02 -0500 |
|---|---|---|
| committer | Eli Schwartz <eschwartz93@gmail.com> | 2024-01-26 00:42:24 -0500 |
| commit | 02ee16729614ba2aae5f5d921c2ebbc1f5d19b46 (patch) | |
| tree | b7cfaa6e416b161d1ecf0d93570c42128fe49683 /mesonbuild | |
| parent | df6926250d39583d1289d91f0b06c5a980190320 (diff) | |
| download | meson-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')
| -rw-r--r-- | mesonbuild/backend/xcodebackend.py | 15 |
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)) |
