| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- file Copyright.txt or https://cmake.org/licensing for details. */
- #ifndef cmLinkLineComputer_h
- #define cmLinkLineComputer_h
- #include "cmConfigure.h" // IWYU pragma: keep
- #include <string>
- #include "cmStateDirectory.h"
- class cmComputeLinkInformation;
- class cmGeneratorTarget;
- class cmOutputConverter;
- class cmLinkLineComputer
- {
- public:
- cmLinkLineComputer(cmOutputConverter* outputConverter,
- cmStateDirectory const& stateDir);
- virtual ~cmLinkLineComputer();
- cmLinkLineComputer(cmLinkLineComputer const&) = delete;
- cmLinkLineComputer& operator=(cmLinkLineComputer const&) = delete;
- void SetUseWatcomQuote(bool useWatcomQuote);
- void SetForResponse(bool forResponse);
- void SetRelink(bool relink);
- virtual std::string ConvertToLinkReference(std::string const& input) const;
- std::string ComputeLinkPath(cmComputeLinkInformation& cli,
- std::string const& libPathFlag,
- std::string const& libPathTerminator);
- std::string ComputeFrameworkPath(cmComputeLinkInformation& cli,
- std::string const& fwSearchFlag);
- virtual std::string ComputeLinkLibraries(cmComputeLinkInformation& cli,
- std::string const& stdLibString);
- virtual std::string GetLinkerLanguage(cmGeneratorTarget* target,
- std::string const& config);
- protected:
- std::string ComputeLinkLibs(cmComputeLinkInformation& cli);
- std::string ComputeRPath(cmComputeLinkInformation& cli);
- std::string ConvertToOutputFormat(std::string const& input);
- std::string ConvertToOutputForExisting(std::string const& input);
- cmStateDirectory StateDir;
- cmOutputConverter* OutputConverter;
- bool ForResponse;
- bool UseWatcomQuote;
- bool Relink;
- };
- #endif
|