| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Tell users what generators *do* support C++ modules. Report the current
generator to make clear it is not one of those supporting modules.
Also clarify the purpose of the existing documentation references.
|
|
|
|
|
|
| |
Help users avoid errors about module support when they may not need it.
While at it, polish sentence syntax in the diagnostic messages.
|
|
|
|
|
| |
Previously the expected output expressions used `(...)*` which did not
actually have to match anything.
|
|
|
|
|
|
|
|
|
|
|
| |
Now that scanning support is no longer experimental, the logic for
whether or not to scan C++ 20 sources is now important because all
projects are now exposted to the logic. Make the scanning rules explicit
in the documentation and rework the queries to localize all of the
associated logic.
A policy to handle the ultimate fallback logic will be implemented in a
following commit.
|
|
|
|
|
|
|
| |
All the major compilers now have scheduled releases with support for
scanning, so remove the experimental gate.
Fixes: #18355
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
cxxmodules-non-compiled-source
* cxxmodules-non-compiled-source-release:
cxxmodules: detect and message about non-compiled sources
|
| |
| |
| |
| |
| |
| |
| |
| | |
Previously an internal error was raised which ended up causing an
internal exception to be thrown. This is a typo situation that should
fall into an explicit error.
Fixes: #25207
|
|/
|
|
|
|
|
| |
Make it clear that:
- the quoted string is a target name; and
- C++ sources that export modules is the important detail.
|
|
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).
|