This commit is contained in:
Yonas Kolb
2017-11-15 16:59:29 +01:00
parent b3908a8b85
commit b2a2a01da7
2 changed files with 15 additions and 2 deletions
+2 -2
View File
@@ -67,7 +67,7 @@ public class PBXProjGenerator {
let buildSettings = spec.getProjectBuildSettings(config: config)
var baseConfigurationReference: String?
if let configPath = spec.configFiles[config.name] {
baseConfigurationReference = sourceGenerator.getFileReference(path: spec.basePath + configPath, inPath: spec.basePath)
baseConfigurationReference = sourceGenerator.getContainedFileReference(path: spec.basePath + configPath)
}
return XCBuildConfiguration(reference: referenceGenerator.generate(XCBuildConfiguration.self, config.name), name: config.name, baseConfigurationReference: baseConfigurationReference, buildSettings: buildSettings)
}
@@ -225,7 +225,7 @@ public class PBXProjGenerator {
var baseConfigurationReference: String?
if let configPath = target.configFiles[config.name] {
baseConfigurationReference = sourceGenerator.getFileReference(path: spec.basePath + configPath, inPath: spec.basePath)
baseConfigurationReference = sourceGenerator.getContainedFileReference(path: spec.basePath + configPath)
}
return XCBuildConfiguration(reference: referenceGenerator.generate(XCBuildConfiguration.self, config.name + target.name), name: config.name, baseConfigurationReference: baseConfigurationReference, buildSettings: buildSettings)
}
+13
View File
@@ -65,6 +65,19 @@ class SourceGenerator {
return SourceFile(path: path, fileReference: fileReference, buildFile: buildFile, buildPhase: buildPhase)
}
func getContainedFileReference(path: Path) -> String {
let createIntermediateGroups = spec.options.createIntermediateGroups
let parentPath = path.parent()
let fileReference = getFileReference(path: path, inPath: parentPath)
let parentGroup = getGroup(path: parentPath, mergingChildren: [fileReference], createIntermediateGroups: createIntermediateGroups, isBaseGroup: true)
if createIntermediateGroups {
createIntermediaGroups(for: parentGroup.reference, at: parentPath)
}
return fileReference
}
func getFileReference(path: Path, inPath: Path, name: String? = nil, sourceTree: PBXSourceTree = .group) -> String {
if let fileReference = fileReferencesByPath[path] {
return fileReference