mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-03 04:40:18 -05:00
386465bf83
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).
12 lines
126 B
C++
12 lines
126 B
C++
#ifdef _MSC_VER
|
|
// Only MSVC supports this pattern.
|
|
module M : internal_part;
|
|
#else
|
|
module M;
|
|
#endif
|
|
|
|
int i()
|
|
{
|
|
return 0;
|
|
}
|