| 430 | } |
| 431 | |
| 432 | void cmLocalGenerator::ProcessEvaluationFiles( |
| 433 | std::vector<std::string>& generatedFiles) |
| 434 | { |
| 435 | for (auto const& geef : this->Makefile->GetEvaluationFiles()) { |
| 436 | geef->Generate(this); |
| 437 | if (cmSystemTools::GetFatalErrorOccurred()) { |
| 438 | return; |
| 439 | } |
| 440 | std::vector<std::string> files = geef->GetFiles(); |
| 441 | std::sort(files.begin(), files.end()); |
| 442 | |
| 443 | std::vector<std::string> intersection; |
| 444 | std::set_intersection(files.begin(), files.end(), generatedFiles.begin(), |
| 445 | generatedFiles.end(), |
| 446 | std::back_inserter(intersection)); |
| 447 | if (!intersection.empty()) { |
| 448 | cmSystemTools::Error("Files to be generated by multiple different " |
| 449 | "commands: " + |
| 450 | cmWrap('"', intersection, '"', " ")); |
| 451 | return; |
| 452 | } |
| 453 | |
| 454 | cm::append(generatedFiles, files); |
| 455 | std::inplace_merge(generatedFiles.begin(), |
| 456 | generatedFiles.end() - files.size(), |
| 457 | generatedFiles.end()); |
| 458 | } |
| 459 | } |
| 460 | |
| 461 | void cmLocalGenerator::GenerateInstallRules() |
| 462 | { |