@William: thanks, that would be interesting
@Jeff: I created a meson project to have a look and could see the settings page (nice :-), and BTW I saw you have done something similar for cmake if running inside a container, I guess it could be used for local runs too), what I did not manage to do was to create a second configuration, I could only modify the default one, even with a new build configuration (did not try with a different toolchain).
I went through the code myself a bit and I saw that the build configuration provider interface implemented by the specific build systems offers
ICBuildConfigurationProvider.createBuildConfiguration(
IProject project,
IToolChain toolChain,
String launchMode,
IProgressMonitor monitor)
so, for a given project/toolchain pair, it only allows to differentiate based on launchMode (Release/Debug). I thought of extending the launchMode to include an optional configuration name, e.g. Debug/conf_1, Debug/conf_2, an empty configuration name would point to the default config.
The drop-down for the launch mode would then actually show the configurations (with a 'new configuration...' option) and a gear icon would open a dialog to edit the configuration, the middle drop-down could filter the launch configurations based on the selected build configurations.
If a project has sane defaults when created with a CDT wizard the simplification that the core build wants to achieve is not be impacted in my opinion.
cheers
Fabrizio