aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbert Tang <tangalbert919@yahoo.com>2023-07-29 12:13:07 -0500
committerEli Schwartz <eschwartz93@gmail.com>2023-09-18 02:03:20 -0400
commit665275a78506b68638f4e996ef8e8b8e549d5c8f (patch)
tree4a85fc810f8372f4470b0acfeccc0b79055110db
parentca60f71b2e70c0af09b5f77f3a03fd42b7109c0a (diff)
downloadmeson-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.py11
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)