diff options
Diffstat (limited to 'Source/cmVisualStudio10TargetGenerator.cxx')
-rw-r--r-- | Source/cmVisualStudio10TargetGenerator.cxx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx index 7360bf5..6d62aff 100644 --- a/Source/cmVisualStudio10TargetGenerator.cxx +++ b/Source/cmVisualStudio10TargetGenerator.cxx @@ -2802,7 +2802,14 @@ void cmVisualStudio10TargetGenerator::OutputSourceSpecificFlags( fs->GetType() == "CXX_MODULE_HEADER_UNITS"_s)) { if (lang == "CXX"_s) { if (fs->GetType() == "CXX_MODULES"_s) { - compileAsPerConfig = "CompileAsCppModule"; + if (shouldScanForModules && + this->GlobalGenerator->IsScanDependenciesSupported()) { + // ScanSourceforModuleDependencies uses 'cl /scanDependencies' and + // can distinguish module interface units and internal partitions. + compileAsPerConfig = "CompileAsCpp"; + } else { + compileAsPerConfig = "CompileAsCppModule"; + } } else { compileAsPerConfig = "CompileAsHeaderUnit"; } |