| 295 | } |
| 296 | |
| 297 | void cmExportInstallFileGenerator::ComplainAboutMissingTarget( |
| 298 | cmGeneratorTarget const* depender, cmGeneratorTarget const* dependee, |
| 299 | ExportInfo const& exportInfo) const |
| 300 | { |
| 301 | std::ostringstream e; |
| 302 | e << "install(" << this->IEGen->InstallSubcommand() << " \"" |
| 303 | << this->GetExportName() << "\" ...) " |
| 304 | << "includes target \"" << depender->GetName() |
| 305 | << "\" which requires target \"" << dependee->GetName() << "\" "; |
| 306 | if (exportInfo.Sets.empty()) { |
| 307 | e << "that is not in any export set."; |
| 308 | } else { |
| 309 | if (exportInfo.Sets.size() == 1) { |
| 310 | e << "that is not in this export set, but in another export set which " |
| 311 | "is " |
| 312 | "exported multiple times with different namespaces: "; |
| 313 | } else { |
| 314 | e << "that is not in this export set, but in multiple other export " |
| 315 | "sets: "; |
| 316 | } |
| 317 | e << cmJoin(exportInfo.Files, ", ") << ".\n" |
| 318 | << "An exported target cannot depend upon another target which is " |
| 319 | "exported in more than one export set or with more than one " |
| 320 | "namespace. " |
| 321 | "Consider consolidating the exports of the \"" |
| 322 | << dependee->GetName() << "\" target to a single export."; |
| 323 | } |
| 324 | this->ReportError(e.str()); |
| 325 | } |
| 326 | |
| 327 | void cmExportInstallFileGenerator::ComplainAboutDuplicateTarget( |
| 328 | std::string const& targetName) const |
no test coverage detected