@@ -17,6 +17,7 @@ public class PBXProjGenerator {
1717
1818 var sourceGenerator : SourceGenerator !
1919
20+ var dependencySet : [ String : ( Target , PBXReferenceProxy ) ] = [ : ]
2021 var targetObjects : [ String : PBXTarget ] = [ : ]
2122 var targetAggregateObjects : [ String : PBXAggregateTarget ] = [ : ]
2223 var targetFileReferences : [ String : PBXFileReference ] = [ : ]
@@ -773,10 +774,16 @@ public class PBXProjGenerator {
773774 guard let dependencyTarget = project. getTarget ( dependencyTargetName) else { continue }
774775 processTargetDependency ( dependency, dependencyTarget: dependencyTarget, embedFileReference: targetFileReferences [ dependencyTarget. name] , platform: platform)
775776 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+ }
780787 }
781788
782789 case . framework:
0 commit comments