aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2022-03-31 18:13:21 +0300
committerEli Schwartz <eschwartz93@gmail.com>2022-03-31 21:30:16 -0400
commita7356f6bf26f6f734e5d9293293498a668d35c6b (patch)
treece9d82a0a6d1452a8c85e3f25f70519de5581a86
parent6f24ab9407cf5b6d8086e50fae6090e4a3694225 (diff)
downloadmeson-a7356f6bf26f6f734e5d9293293498a668d35c6b.zip
meson-a7356f6bf26f6f734e5d9293293498a668d35c6b.tar.gz
meson-a7356f6bf26f6f734e5d9293293498a668d35c6b.tar.bz2
Handle same Framework multiple times in Xcode.
-rw-r--r--mesonbuild/backend/xcodebackend.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/mesonbuild/backend/xcodebackend.py b/mesonbuild/backend/xcodebackend.py
index a5c6931..46f3b14 100644
--- a/mesonbuild/backend/xcodebackend.py
+++ b/mesonbuild/backend/xcodebackend.py
@@ -131,8 +131,8 @@ class PbxDict:
self.items = []
def add_item(self, key, value, comment=''):
- item = PbxDictItem(key, value, comment)
assert key not in self.keys
+ item = PbxDictItem(key, value, comment)
self.keys.add(key)
self.items.append(item)
@@ -601,7 +601,9 @@ class XCodeBackend(backends.Backend):
if isinstance(dep, dependencies.AppleFrameworks):
for f in dep.frameworks:
fw_dict = PbxDict()
- objects_dict.add_item(self.native_frameworks[f], fw_dict, f'{f}.framework in Frameworks')
+ fwkey = self.native_frameworks[f]
+ if fwkey not in objects_dict.keys:
+ objects_dict.add_item(fwkey, fw_dict, f'{f}.framework in Frameworks')
fw_dict.add_item('isa', 'PBXBuildFile')
fw_dict.add_item('fileRef', self.native_frameworks_fileref[f], f)