Skip to content
  • Ben Boeckel's avatar
    cmTarget: add support for C++ module fileset types · 386465bf
    Ben Boeckel authored
    C++ modules have two variants which are of importance to CMake:
    
      - `CXX_MODULES`: interface modules (those using `export module M;`,
        `export module M:part;`, or `module M:internal_part;`)
      - `CXX_MODULE_HEADER_UNITS`: importable header units
    
    Creating C++ modules or partitions are *not* supported in any other
    source listing. This is because the source files must be installed (so
    their scope matters), but not part of usage requirements (what it means
    for a module source to be injected into a consumer is not clear at this
    moment). Due to the way `FILE_SET` works with scopes, they are a perfect
    fit as long as `INTERFACE` is not allowed (which it is not).
    386465bf