presets: combinatorial explosion
My team has 3 main cache configurations used during development, one which builds the bare minimum, one which additionally builds the gui tools, and one which builds the entire project. We also need to build with MSVC 2015, 2017, 2019, clang, and g++. We also want to make both ninja and MSBuild available as build tools. We need to be able to build in, at minimum, debug and release with debug info. Creating presets to match all of these requirements is very difficult, as there is essentially a combinatorial explosion of presets needed to provide all these.
To solve this I propose that we be allowed to select multiple presets. You could have one preset config for each of the above, and select a combination of presets which is applicable to you. If a given combination of presets doesn't give enough information to build, you could give an error.