| 6152 | } |
| 6153 | |
| 6154 | bool cmGeneratorTarget::HaveCxx20ModuleSources(std::string* errorMessage) const |
| 6155 | { |
| 6156 | auto const& fs_names = this->Target->GetAllFileSetNames(); |
| 6157 | return std::any_of( |
| 6158 | fs_names.begin(), fs_names.end(), |
| 6159 | [this, errorMessage](std::string const& name) -> bool { |
| 6160 | auto const* file_set = this->Target->GetFileSet(name); |
| 6161 | if (!file_set) { |
| 6162 | auto message = cmStrCat("Target \"", this->Target->GetName(), |
| 6163 | "\" is tracked to have file set \"", name, |
| 6164 | "\", but it was not found."); |
| 6165 | if (errorMessage) { |
| 6166 | *errorMessage = std::move(message); |
| 6167 | } else { |
| 6168 | this->Makefile->IssueMessage(MessageType::INTERNAL_ERROR, message); |
| 6169 | } |
| 6170 | return false; |
| 6171 | } |
| 6172 | |
| 6173 | auto const& fs_type = file_set->GetType(); |
| 6174 | return fs_type == "CXX_MODULES"_s; |
| 6175 | }); |
| 6176 | } |
| 6177 | |
| 6178 | cmGeneratorTarget::Cxx20SupportLevel cmGeneratorTarget::HaveCxxModuleSupport( |
| 6179 | std::string const& config) const |
no test coverage detected