1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-06-14 15:04:41 +08:00

11 Commits

Author SHA1 Message Date
Ben Boeckel
9e2f31ec23 cmCxxModuleMapper: add a query for the open mode for the modmap
GCC (MinGW) wants to use `\n` on Windows too.

Fixes: #25974
2024-05-16 09:54:16 -04:00
Ben Boeckel
3f8a59a05c cxxmodules: return failure from the collator when private usage is found 2024-02-14 20:26:59 -05:00
Brad King
241ee252ce IWYU: Update for Debian 12 CI job
`include-what-you-use` diagnostics, in practice, are specific to
the environment's compiler and standard library.  Update includes
to satisfy IWYU for our CI job under Debian 12.
2023-07-28 09:14:08 -04:00
Ben Boeckel
18f87c87f8 cmCxxModuleMapper: track whether modules are private or not
This allows collation to give a useful error message when it finds usage
of a private module rather than collation just not informing the
compilation and the compiler erroring out about not being able to import
unknown modules (which exists, but it was not told about due to
visibility).

Fixes: #24652
2023-05-18 08:34:31 -04:00
Ben Boeckel
56f7d6f827 cmCxxModuleMapper: add a structure to represent BMI locations
This structure allows representing whether a module is private in order
to give a more useful error message when its usage is attempted from
another target.
2023-05-18 08:32:07 -04:00
Brad King
f79817fcf0 cmCxxModuleMapper: Use value semantics in path conversion callback
The call site already owns a path it doesn't need when the callback
returns.  Hand ownership to the callback so it can optionally mutate
the path without necessarily allocating.
2023-03-18 11:52:41 -04:00
Ben Boeckel
21b9fb1e8c cmCxxModuleMapper: support the clang module map format 2022-12-02 13:01:21 -05:00
Ben Boeckel
297e0f4dce cmCxxModuleMapper: support MSVC module map format
THis is a set of flags stored in a response file which informs the
compiler about where to place output BMI files as well as find the
required BMIs.
2022-08-02 10:53:38 -04:00
Ben Boeckel
b3c2880cb2 cmCxxModuleMapper: track transitive modules for MSVC
MSVC needs the transitive closure of module usage to compile.
2022-08-02 10:53:38 -04:00
Ben Boeckel
b43bdaff3c cmCxxModuleMapper: implement support for GCC's module map format 2022-06-16 10:28:34 -04:00
Ben Boeckel
02d0f0e752 cmCxxModuleMapper: add source to handle module mapper contents
This will allow all generators to share an implementation for actually
writing out the module map formats.
2022-06-16 10:28:34 -04:00