mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-11 16:32:14 -06:00
VS: Explicitly disallow C++ modules provided by imported targets
The `-ifcOnly` flag is understood by MSBuild, but there are unresolved questions about how to integrate with with CMake's model. See: #25328
This commit is contained in:
@@ -68,5 +68,6 @@ For the :ref:`Visual Studio Generators`:
|
||||
- Only Visual Studio 2022 and MSVC toolsets 14.34 (Visual Studio
|
||||
17.4) and newer.
|
||||
- No support for exporting or installing BMI or module information.
|
||||
- No support for compiling BMIs from ``IMPORTED`` targets with C++ modules.
|
||||
- No diagnosis of using modules provided by ``PRIVATE`` sources from
|
||||
``PUBLIC`` module sources.
|
||||
|
||||
@@ -358,6 +358,15 @@ std::ostream& cmVisualStudio10TargetGenerator::Elem::WriteString(
|
||||
|
||||
void cmVisualStudio10TargetGenerator::Generate()
|
||||
{
|
||||
if (this->GeneratorTarget->IsSynthetic()) {
|
||||
this->GeneratorTarget->Makefile->IssueMessage(
|
||||
MessageType::FATAL_ERROR,
|
||||
cmStrCat("Target \"", this->GeneratorTarget->GetName(),
|
||||
"\" contains C++ modules intended for BMI-only compilation. "
|
||||
"This is not yet supported by the Visual Studio generator."));
|
||||
return;
|
||||
}
|
||||
|
||||
for (std::string const& config : this->Configurations) {
|
||||
this->GeneratorTarget->CheckCxxModuleStatus(config);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user