@@ -17,6 +17,7 @@ public class PBXProjGenerator {
17
17
18
18
var sourceGenerator : SourceGenerator !
19
19
20
+ var dependencySet : [ String : ( Target , PBXReferenceProxy ) ] = [ : ]
20
21
var targetObjects : [ String : PBXTarget ] = [ : ]
21
22
var targetAggregateObjects : [ String : PBXAggregateTarget ] = [ : ]
22
23
var targetFileReferences : [ String : PBXFileReference ] = [ : ]
@@ -773,10 +774,16 @@ public class PBXProjGenerator {
773
774
guard let dependencyTarget = project. getTarget ( dependencyTargetName) else { continue }
774
775
processTargetDependency ( dependency, dependencyTarget: dependencyTarget, embedFileReference: targetFileReferences [ dependencyTarget. name] , platform: platform)
775
776
case . project( let dependencyProjectName) :
776
- let dependencyTargetName = dependencyTargetReference. name
777
- let ( targetDependency, dependencyTarget, dependencyProductProxy) = try generateExternalTargetDependency ( from: target. name, to: dependencyTargetName, in: dependencyProjectName, platform: target. platform)
778
- dependencies. append ( targetDependency)
779
- processTargetDependency ( dependency, dependencyTarget: dependencyTarget, embedFileReference: dependencyProductProxy, platform: platform)
777
+ let id = " \( dependencyProjectName) _ \( dependency. uniqueID) "
778
+ if let dependencySet = dependencySet [ id] {
779
+ processTargetDependency ( dependency, dependencyTarget: dependencySet. 0 , embedFileReference: dependencySet. 1 , platform: platform)
780
+ } else {
781
+ let dependencyTargetName = dependencyTargetReference. name
782
+ let ( targetDependency, dependencyTarget, dependencyProductProxy) = try generateExternalTargetDependency ( from: target. name, to: dependencyTargetName, in: dependencyProjectName, platform: target. platform)
783
+ dependencies. append ( targetDependency)
784
+ processTargetDependency ( dependency, dependencyTarget: dependencyTarget, embedFileReference: dependencyProductProxy, platform: platform)
785
+ dependencySet [ id] = ( dependencyTarget, dependencyProductProxy)
786
+ }
780
787
}
781
788
782
789
case . framework:
0 commit comments