diff options
author | Stephen Kelly <steveire@gmail.com> | 2016-10-08 10:21:38 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2016-10-10 18:38:58 (GMT) |
commit | 09b6cc66b09b9689ca01faee5e33ef101b46f972 (patch) | |
tree | 2620c6e9ab74ecca3d8e15cbf82ad8136c9bdd2a /Source/cmLinkLineComputer.cxx | |
parent | 0c978063259fb013856b617d680cebcdee51ab1a (diff) | |
download | CMake-09b6cc66b09b9689ca01faee5e33ef101b46f972.zip CMake-09b6cc66b09b9689ca01faee5e33ef101b46f972.tar.gz CMake-09b6cc66b09b9689ca01faee5e33ef101b46f972.tar.bz2 |
cmLinkLineComputer: Move LinkPath computation from cmLocalGenerator
Add a ConvertToOutputForExisting method which can be made virtual later
to satisfy different generator needs.
Pass additional strings as parameters for now. They can be turned into
class state later.
Diffstat (limited to 'Source/cmLinkLineComputer.cxx')
-rw-r--r-- | Source/cmLinkLineComputer.cxx | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Source/cmLinkLineComputer.cxx b/Source/cmLinkLineComputer.cxx index b2b56bf..a5e8b72 100644 --- a/Source/cmLinkLineComputer.cxx +++ b/Source/cmLinkLineComputer.cxx @@ -72,3 +72,31 @@ std::string cmLinkLineComputer::ConvertToOutputFormat(std::string const& input) return this->OutputConverter->ConvertToOutputFormat(input, shellFormat); } + +std::string cmLinkLineComputer::ConvertToOutputForExisting( + std::string const& input) +{ + cmOutputConverter::OutputFormat shellFormat = (this->ForResponse) + ? cmOutputConverter::RESPONSE + : ((this->UseWatcomQuote) ? cmOutputConverter::WATCOMQUOTE + : cmOutputConverter::SHELL); + + return this->OutputConverter->ConvertToOutputForExisting(input, shellFormat); +} + +std::string cmLinkLineComputer::ComputeLinkPath( + cmComputeLinkInformation& cli, std::string const& libPathFlag, + std::string const& libPathTerminator) +{ + std::string linkPath; + std::vector<std::string> const& libDirs = cli.GetDirectories(); + for (std::vector<std::string>::const_iterator libDir = libDirs.begin(); + libDir != libDirs.end(); ++libDir) { + std::string libpath = this->ConvertToOutputForExisting(*libDir); + linkPath += " " + libPathFlag; + linkPath += libpath; + linkPath += libPathTerminator; + linkPath += " "; + } + return linkPath; +} |