cmBinUtilsWindowsPELinker.h 949 B

123456789101112131415161718192021222324252627282930313233
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file Copyright.txt or https://cmake.org/licensing for details. */
  3. #ifndef cmBinUtilsWindowsPELinker_h
  4. #define cmBinUtilsWindowsPELinker_h
  5. #include "cmBinUtilsLinker.h"
  6. #include "cmBinUtilsWindowsPEGetRuntimeDependenciesTool.h"
  7. #include "cmStateTypes.h"
  8. #include <memory>
  9. #include <string>
  10. class cmRuntimeDependencyArchive;
  11. class cmBinUtilsWindowsPELinker : public cmBinUtilsLinker
  12. {
  13. public:
  14. cmBinUtilsWindowsPELinker(cmRuntimeDependencyArchive* archive);
  15. bool Prepare() override;
  16. bool ScanDependencies(std::string const& file,
  17. cmStateEnums::TargetType type) override;
  18. private:
  19. std::unique_ptr<cmBinUtilsWindowsPEGetRuntimeDependenciesTool> Tool;
  20. bool ResolveDependency(std::string const& name, std::string const& origin,
  21. std::string& path, bool& resolved);
  22. };
  23. #endif // cmBinUtilsWindowsPELinker_h