cmInstallGetRuntimeDependenciesGenerator.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file Copyright.txt or https://cmake.org/licensing for details. */
  3. #pragma once
  4. #include <iosfwd>
  5. #include <string>
  6. #include <vector>
  7. #include "cmInstallGenerator.h"
  8. class cmListFileBacktrace;
  9. class cmLocalGenerator;
  10. class cmInstallRuntimeDependencySet;
  11. class cmInstallGetRuntimeDependenciesGenerator : public cmInstallGenerator
  12. {
  13. public:
  14. cmInstallGetRuntimeDependenciesGenerator(
  15. cmInstallRuntimeDependencySet* runtimeDependencySet,
  16. std::vector<std::string> directories,
  17. std::vector<std::string> preIncludeRegexes,
  18. std::vector<std::string> preExcludeRegexes,
  19. std::vector<std::string> postIncludeRegexes,
  20. std::vector<std::string> postExcludeRegexes,
  21. std::vector<std::string> postIncludeFiles,
  22. std::vector<std::string> postExcludeFiles, std::string libraryComponent,
  23. std::string frameworkComponent, bool noInstallRPath, const char* depsVar,
  24. const char* rpathPrefix, std::vector<std::string> const& configurations,
  25. MessageLevel message, bool exclude_from_all,
  26. cmListFileBacktrace backtrace);
  27. bool Compute(cmLocalGenerator* lg) override;
  28. protected:
  29. void GenerateScript(std::ostream& os) override;
  30. void GenerateScriptForConfig(std::ostream& os, const std::string& config,
  31. Indent indent) override;
  32. private:
  33. cmInstallRuntimeDependencySet* RuntimeDependencySet;
  34. std::vector<std::string> Directories;
  35. std::vector<std::string> PreIncludeRegexes;
  36. std::vector<std::string> PreExcludeRegexes;
  37. std::vector<std::string> PostIncludeRegexes;
  38. std::vector<std::string> PostExcludeRegexes;
  39. std::vector<std::string> PostIncludeFiles;
  40. std::vector<std::string> PostExcludeFiles;
  41. std::string LibraryComponent;
  42. std::string FrameworkComponent;
  43. bool NoInstallRPath;
  44. const char* DepsVar;
  45. const char* RPathPrefix;
  46. cmLocalGenerator* LocalGenerator = nullptr;
  47. };