| 320 | } |
| 321 | |
| 322 | void cmGlobalGhsMultiGenerator::WriteSubProjects(std::ostream& fout, |
| 323 | bool filterPredefined) |
| 324 | { |
| 325 | std::set<std::string> predefinedTargets; |
| 326 | predefinedTargets.insert(this->GetInstallTargetName()); |
| 327 | predefinedTargets.insert(this->GetAllTargetName()); |
| 328 | predefinedTargets.insert(std::string(CHECK_BUILD_SYSTEM_TARGET)); |
| 329 | |
| 330 | // All known targets |
| 331 | for (cmGeneratorTarget const* target : this->ProjectTargets) { |
| 332 | if (target->GetType() == cmStateEnums::INTERFACE_LIBRARY || |
| 333 | target->GetType() == cmStateEnums::MODULE_LIBRARY || |
| 334 | target->GetType() == cmStateEnums::SHARED_LIBRARY || |
| 335 | (target->GetType() == cmStateEnums::GLOBAL_TARGET && |
| 336 | target->GetName() != this->GetInstallTargetName())) { |
| 337 | continue; |
| 338 | } |
| 339 | /* Check if the current target is a predefined CMake target */ |
| 340 | bool predefinedTarget = |
| 341 | predefinedTargets.find(target->GetName()) != predefinedTargets.end(); |
| 342 | if ((filterPredefined && predefinedTarget) || |
| 343 | (!filterPredefined && !predefinedTarget)) { |
| 344 | fout << target->GetName() + ".tgt" + FILE_EXTENSION << " [Project]\n"; |
| 345 | } |
| 346 | } |
| 347 | } |
| 348 | |
| 349 | void cmGlobalGhsMultiGenerator::WriteProjectLine( |
| 350 | std::ostream& fout, cmGeneratorTarget const* target, |
no test coverage detected