diff options
author | Albert Tang <tangalbert919@yahoo.com> | 2023-07-29 12:13:07 -0500 |
---|---|---|
committer | Eli Schwartz <eschwartz93@gmail.com> | 2023-09-18 02:03:20 -0400 |
commit | 665275a78506b68638f4e996ef8e8b8e549d5c8f (patch) | |
tree | 4a85fc810f8372f4470b0acfeccc0b79055110db | |
parent | ca60f71b2e70c0af09b5f77f3a03fd42b7109c0a (diff) | |
download | meson-665275a78506b68638f4e996ef8e8b8e549d5c8f.zip meson-665275a78506b68638f4e996ef8e8b8e549d5c8f.tar.gz meson-665275a78506b68638f4e996ef8e8b8e549d5c8f.tar.bz2 |
xcode: Check for apple framework deps by name
If `dependencies.platform.AppleFrameworks` has not been imported by
this time, Meson crashes. Better to check by name instead.
-rw-r--r-- | mesonbuild/backend/xcodebackend.py | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/mesonbuild/backend/xcodebackend.py b/mesonbuild/backend/xcodebackend.py index a2020e1..ec03627 100644 --- a/mesonbuild/backend/xcodebackend.py +++ b/mesonbuild/backend/xcodebackend.py @@ -18,7 +18,6 @@ import typing as T from . import backends from .. import build -from .. import dependencies from .. import mesonlib from .. import mlog from ..mesonlib import MesonBugException, MesonException, OptionKey @@ -456,7 +455,7 @@ class XCodeBackend(backends.Backend): self.native_frameworks_fileref = {} for t in self.build_targets.values(): for dep in t.get_external_deps(): - if isinstance(dep, dependencies.platform.AppleFrameworks): + if dep.name == 'appleframeworks': for f in dep.frameworks: self.native_frameworks[f] = self.gen_id() self.native_frameworks_fileref[f] = self.gen_id() @@ -598,7 +597,7 @@ class XCodeBackend(backends.Backend): def generate_pbx_build_file(self, objects_dict): for tname, t in self.build_targets.items(): for dep in t.get_external_deps(): - if isinstance(dep, dependencies.platform.AppleFrameworks): + if dep.name == 'appleframeworks': for f in dep.frameworks: fw_dict = PbxDict() fwkey = self.native_frameworks[f] @@ -708,7 +707,7 @@ class XCodeBackend(backends.Backend): def generate_pbx_file_reference(self, objects_dict): for tname, t in self.build_targets.items(): for dep in t.get_external_deps(): - if isinstance(dep, dependencies.platform.AppleFrameworks): + if dep.name == 'appleframeworks': for f in dep.frameworks: fw_dict = PbxDict() framework_fileref = self.native_frameworks_fileref[f] @@ -868,7 +867,7 @@ class XCodeBackend(backends.Backend): file_list = PbxArray() bt_dict.add_item('files', file_list) for dep in t.get_external_deps(): - if isinstance(dep, dependencies.platform.AppleFrameworks): + if dep.name == 'appleframeworks': for f in dep.frameworks: file_list.add_item(self.native_frameworks[f], f'{f}.framework in Frameworks') bt_dict.add_item('runOnlyForDeploymentPostprocessing', 0) @@ -916,7 +915,7 @@ class XCodeBackend(backends.Backend): for t in self.build_targets.values(): for dep in t.get_external_deps(): - if isinstance(dep, dependencies.platform.AppleFrameworks): + if dep.name == 'appleframeworks': for f in dep.frameworks: frameworks_children.add_item(self.native_frameworks_fileref[f], f) |