             case .product, .productPlatform:
                 break
             }
+            settingPresetSettings[path] = .nothing
             return nil
         }
 

    /// Returns cached build settings from a config file
    private func loadConfigFileBuildSettings(path: String) -> BuildSettings? {
        let configFilePath = basePath + path
        if let settings = configFileSettings[configFilePath.string] {
            return settings
        } else {
            guard let configFile = try? XCConfig(path: configFilePath) else { return nil }
            let settings = configFile.flattenedBuildSettings()
            configFileSettings[configFilePath.string] = settings
            return settings
        }
    }
}

// cached flattened xcconfig file settings
private var configFileSettings: [String: BuildSettings] = [:]

// cached setting preset settings
private var settingPresetSettings: [String: BuildSettings] = [:]

extension SettingsPresetFile {

    public func getBuildSettings() -> BuildSettings? {
        if let group = settingPresetSettings[path] {
            return group
        }
        let bundlePath = Path(Bundle.main.bundlePath)
        let relativePath = Path("SettingPresets/\(path).yml")

            print("Error parsing \"\(name)\" settings")
            return nil
        }
        settingPresetSettings[path] = .cached(buildSettings)
        return buildSettings
    }
}
