| 281 | } |
| 282 | |
| 283 | void cmGhsMultiTargetGenerator::WriteTargetLinkLine(std::ostream& fout, |
| 284 | std::string const& config) |
| 285 | { |
| 286 | if (this->TagType == GhsMultiGpj::INTEGRITY_APPLICATION) { |
| 287 | return; |
| 288 | } |
| 289 | |
| 290 | std::string linkLibraries; |
| 291 | std::string flags; |
| 292 | std::string linkFlags; |
| 293 | std::string frameworkPath; |
| 294 | std::string linkPath; |
| 295 | |
| 296 | std::unique_ptr<cmLinkLineComputer> linkLineComputer = |
| 297 | this->GetGlobalGenerator()->CreateLinkLineComputer( |
| 298 | this->LocalGenerator, |
| 299 | this->LocalGenerator->GetStateSnapshot().GetDirectory()); |
| 300 | |
| 301 | this->LocalGenerator->GetTargetFlags( |
| 302 | linkLineComputer.get(), config, linkLibraries, flags, linkFlags, |
| 303 | frameworkPath, linkPath, this->GeneratorTarget); |
| 304 | |
| 305 | // write out link options |
| 306 | std::vector<std::string> lopts = cmSystemTools::ParseArguments(linkFlags); |
| 307 | for (std::string const& l : lopts) { |
| 308 | fout << " " << l << '\n'; |
| 309 | } |
| 310 | |
| 311 | // write out link search paths |
| 312 | // must be quoted for paths that contain spaces |
| 313 | std::vector<std::string> lpath = cmSystemTools::ParseArguments(linkPath); |
| 314 | for (std::string const& l : lpath) { |
| 315 | fout << " -L\"" << l << "\"\n"; |
| 316 | } |
| 317 | |
| 318 | // write out link libs |
| 319 | // must be quoted for filepaths that contains spaces |
| 320 | std::string cbd = this->LocalGenerator->GetCurrentBinaryDirectory(); |
| 321 | |
| 322 | std::vector<std::string> llibs = |
| 323 | cmSystemTools::ParseArguments(linkLibraries); |
| 324 | for (std::string const& l : llibs) { |
| 325 | if (l.compare(0, 2, "-l") == 0) { |
| 326 | fout << " \"" << l << "\"\n"; |
| 327 | } else { |
| 328 | std::string rl = cmSystemTools::CollapseFullPath(l, cbd); |
| 329 | fout << " -l\"" << rl << "\"\n"; |
| 330 | } |
| 331 | } |
| 332 | } |
| 333 | |
| 334 | void cmGhsMultiTargetGenerator::WriteBuildEvents(std::ostream& fout) |
| 335 | { |
no test coverage detected