MCPcopy Create free account
hub / github.com/Kitware/CMake / CheckCxxModuleSupport

Method CheckCxxModuleSupport

Source/cmGlobalNinjaGenerator.cxx:903–927  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

901}
902
903bool cmGlobalNinjaGenerator::CheckCxxModuleSupport(CxxModuleSupportQuery query)
904{
905 if (this->NinjaSupportsDyndepsCxx) {
906 return true;
907 }
908 bool const diagnose = !this->DiagnosedCxxModuleNinjaSupport &&
909 !this->CMakeInstance->GetIsInTryCompile() &&
910 query == CxxModuleSupportQuery::Expected;
911 if (diagnose) {
912 std::ostringstream e;
913 /* clang-format off */
914 e <<
915 "The Ninja generator does not support C++20 modules "
916 "using Ninja version \n"
917 " " << this->NinjaVersion << "\n"
918 "due to lack of required features. "
919 "Ninja " << RequiredNinjaVersionForDyndepsCxx() <<
920 " or higher is required."
921 ;
922 /* clang-format on */
923 this->GetCMakeInstance()->IssueMessage(MessageType::FATAL_ERROR, e.str());
924 cmSystemTools::SetFatalErrorOccurred();
925 }
926 return false;
927}
928
929bool cmGlobalNinjaGenerator::CheckFortran(cmMakefile* mf) const
930{

Callers 3

CheckCxxModuleStatusMethod · 0.45
NeedCxxModuleSupportMethod · 0.45
NeedCxxDyndepMethod · 0.45

Calls 4

GetIsInTryCompileMethod · 0.80
strMethod · 0.80
IssueMessageMethod · 0.45
GetCMakeInstanceMethod · 0.45

Tested by

no test coverage detected