Consider supporting a platform/sdk-level set of xcconfig files for cross-platform projects
At the moment BSE performs all of its consolidation on the same 'level'. Common settings across multiple build settings at the project or target level are consolidated into a shared setting.
In a project created with targets for a single platform sdk, the project usually contains some consolidated platform-specific settings (such as SDKROOT).
For a project with targets for multiple platforms, it likely makes sense to have common settings for all targets using the same sdk separated out per platform.
This would generate a set of xcconfig files for each platform. (one per build style + shared). Each target build style xcconfig file would import the platform build style xcconfig file for the appropriate platform.
This would likely require moving some settings, at least the SDK setting, from the project down to the SDK-level config file. And the deployment target setting as well.
Does it make sense to do as Xcode does and keep one SDK at the project level? Without it, the setting appears as 'No SDK (macOS)' in the Xcode build settings interface.
In a project with many many targets with various SDKs may want another level of hierarchy:
Config
Project
Project-Shared.xconfig
...
SDKs
iOS
iOS-Shared.xconfig
...
macOS
macOS-Shared.xconfig
...
Targets
MyApp
MyApp-Shared.xconfig
...
MyAppTests
MyAppTests-Shared.xconfig
...
👍Yes this would be grand.