Add support for "Ninja Multi-Config" CMake generator (#8813) - #8814
Conversation
The "Ninja Multi-Config" generator was added in CMake 3.17. Add support for recognizing it as multi-config from is_multi_configuration(), as well as inserting needed envvars as with regular (single configuration) Ninja usage. Signed-off-by: Joel Johnson <mrjoel@lixil.net>
memsharded
left a comment
There was a problem hiding this comment.
Thanks for contributing this. If we want to add support for Ninja Multi-Config, we need to do a few more things:
- It is very important that changes to build systems are at least (or only) targeted to the new tools in
conan.tools.cmake, not only the oldconans.xxxxspace. - We are adding functional tests for almost all things. This was merged just today: #8005. We really need to make sure things really work, otherwise there is too much untested code that easily breaks.
We really want to add support for Ninja Multi-Config, but it will require a bit more effort. Adding tests is not that straightforward, we can help with this at some point if necessary.
|
Yep, I just needed a minimal |
What additional changes would you expect here? I did look at a brief look in |
Yes, this was more a general consideration of how to think regarding changes in build system integrations, and being aware that the future integrations for Conan 2.0 are those in Sure, thanks, this is good as a starting point and will help to push things. We will try to help with the tests, it is important to add some, specially in the new part that is currently under heavy development. |
|
We will be adding tests for Ninja multi-config in CI when possible, but that might take some time. As this change seems no risk at all, I think it is ok to merge it now for 1.36, but I have changed the changelog, until we have full proper testing, better not to say that we added support for it. |
The "Ninja Multi-Config" generator was added in CMake 3.17. Add
support for recognizing it as multi-config from
is_multi_configuration(), as well as inserting needed envvars as with
regular (single configuration) Ninja usage.
Signed-off-by: Joel Johnson mrjoel@lixil.net
Changelog: Fix: Recognize
Ninja Multi-Configas a CMake multi-configuration generator.Docs: Omit
developbranch, documenting this one.