diff options
Diffstat (limited to 'Source/cmGlobalGenerator.cxx')
| -rw-r--r-- | Source/cmGlobalGenerator.cxx | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index c2bf888..8ca6ee6 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -827,7 +827,8 @@ void cmGlobalGenerator::EnableLanguage( "No " << compilerName << " could be found.\n" ; /* clang-format on */ - } else if ((lang != "RC") && (lang != "ASM_MASM")) { + } else if ((lang != "RC") && (lang != "ASM_MARMASM") && + (lang != "ASM_MASM")) { if (!cmSystemTools::FileIsFullPath(*compilerFile)) { /* clang-format off */ noCompiler << @@ -1438,6 +1439,19 @@ bool cmGlobalGenerator::CheckALLOW_DUPLICATE_CUSTOM_TARGETS() const return false; } +void cmGlobalGenerator::CxxModuleSupportCheck() const +{ + bool const diagnose = !this->DiagnosedCxxModuleSupport && + !this->CMakeInstance->GetIsInTryCompile(); + if (diagnose) { + this->DiagnosedCxxModuleSupport = true; + this->GetCMakeInstance()->IssueMessage( + MessageType::AUTHOR_WARNING, + "C++20 modules support via CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP " + "is experimental. It is meant only for compiler developers to try."); + } +} + void cmGlobalGenerator::ComputeBuildFileGenerators() { for (unsigned int i = 0; i < this->LocalGenerators.size(); ++i) { @@ -1596,6 +1610,8 @@ void cmGlobalGenerator::Generate() // it builds by default. this->InitializeProgressMarks(); + this->DiagnosedCxxModuleSupport = false; + this->ProcessEvaluationFiles(); this->CMakeInstance->UpdateProgress("Generating", 0.1f); @@ -2943,19 +2959,18 @@ std::string cmGlobalGenerator::GetPredefinedTargetsFolder() const bool cmGlobalGenerator::UseFolderProperty() const { - cmValue prop = + const cmValue prop = this->GetCMakeInstance()->GetState()->GetGlobalProperty("USE_FOLDERS"); - // If this property is defined, let the setter turn this on or off... - // + // If this property is defined, let the setter turn this on or off. if (prop) { return cmIsOn(*prop); } - // By default, this feature is OFF, since it is not supported in the - // Visual Studio Express editions until VS11: - // - return false; + // If CMP0143 is NEW `treat` "USE_FOLDERS" as ON. Otherwise `treat` it as OFF + assert(!this->Makefiles.empty()); + return (this->Makefiles[0]->GetPolicyStatus(cmPolicies::CMP0143) == + cmPolicies::NEW); } void cmGlobalGenerator::CreateGlobalTarget(GlobalTargetInfo const& gti, |
