1 /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2 file Copyright.txt or https://cmake.org/licensing for details. */
9 #include "cmInstallGenerator.h"
10 #include "cmScriptGenerator.h"
12 class cmListFileBacktrace;
13 class cmLocalGenerator;
14 class cmInstallRuntimeDependencySet;
16 class cmInstallGetRuntimeDependenciesGenerator : public cmInstallGenerator
19 cmInstallGetRuntimeDependenciesGenerator(
20 cmInstallRuntimeDependencySet* runtimeDependencySet,
21 std::vector<std::string> directories,
22 std::vector<std::string> preIncludeRegexes,
23 std::vector<std::string> preExcludeRegexes,
24 std::vector<std::string> postIncludeRegexes,
25 std::vector<std::string> postExcludeRegexes,
26 std::vector<std::string> postIncludeFiles,
27 std::vector<std::string> postExcludeFiles, std::string libraryComponent,
28 std::string frameworkComponent, bool noInstallRPath, const char* depsVar,
29 const char* rpathPrefix, std::vector<std::string> const& configurations,
30 MessageLevel message, bool exclude_from_all,
31 cmListFileBacktrace backtrace);
33 bool Compute(cmLocalGenerator* lg) override;
36 void GenerateScript(std::ostream& os) override;
38 void GenerateScriptForConfig(std::ostream& os, const std::string& config,
39 Indent indent) override;
42 cmInstallRuntimeDependencySet* RuntimeDependencySet;
43 std::vector<std::string> Directories;
44 std::vector<std::string> PreIncludeRegexes;
45 std::vector<std::string> PreExcludeRegexes;
46 std::vector<std::string> PostIncludeRegexes;
47 std::vector<std::string> PostExcludeRegexes;
48 std::vector<std::string> PostIncludeFiles;
49 std::vector<std::string> PostExcludeFiles;
50 std::string LibraryComponent;
51 std::string FrameworkComponent;
54 const char* RPathPrefix;
55 cmLocalGenerator* LocalGenerator = nullptr;