| 901 | } |
| 902 | |
| 903 | bool 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 | |
| 929 | bool cmGlobalNinjaGenerator::CheckFortran(cmMakefile* mf) const |
| 930 | { |
no test coverage detected