Merged requested to merge ben.boeckel/cmake:cpp-named-module-export-infra into master
This MR builds on !7214 (merged) and leads to !7210 (closed) by:
- adding new fileset types for C++ modules
- support installing C++ module BMIs
- hooking in exported module properties
- testing that each works in a generic way
- further testing that Ninja generators write out the expected information for later use during the build (not included here)
This is basically the CMake interface for modules within a project for their use internally and for telling the world about them (though no one is listening right now). !7210 (closed) can then focus on the mechanisms of how this gets filled out.