in Sources/XCRemoteCache/Commands/Prepare/Integrate/XcodeSettingsFlags.swift [93:116]
mutating func assignFlag(key: String, value: String?) {
let flags: [String]
switch (settingValue, value) {
case (nil, nil):
return
case (nil, .some(let value)):
flags = [XcodeSettingsBuilder.inheritedExpression] + buildCFlag(key: key, value: value)
case (.some(let existing), _):
var flagsComponents: [String] = existing.split(separator: " ").map(String.init)
// remove (if exists)
let existingFlagIndex = flagsComponents.firstIndex { component -> Bool in
component.hasPrefix("\(Self.prefix)\(key)=")
}
if let index = existingFlagIndex {
flagsComponents.remove(at: index)
}
// add (if sets new)
if let newValue = value {
flagsComponents += buildCFlag(key: key, value: newValue)
}
flags = flagsComponents
}
settingValue = XcodeSettingsBuilder.composeFlags(flags)
}