| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- file Copyright.txt or https://cmake.org/licensing for details. */
- #ifndef cmRuntimeDependencyArchive_h
- #define cmRuntimeDependencyArchive_h
- #include "cmBinUtilsLinker.h"
- #include "cmsys/RegularExpression.hxx"
- #include <map>
- #include <memory>
- #include <set>
- #include <string>
- #include <vector>
- class cmCommand;
- class cmMakefile;
- class cmRuntimeDependencyArchive
- {
- public:
- explicit cmRuntimeDependencyArchive(
- cmCommand* command, std::vector<std::string> searchDirectories,
- std::string bundleExecutable,
- const std::vector<std::string>& preIncludeRegexes,
- const std::vector<std::string>& preExcludeRegexes,
- const std::vector<std::string>& postIncludeRegexes,
- const std::vector<std::string>& postExcludeRegexes);
- bool Prepare();
- bool GetRuntimeDependencies(const std::vector<std::string>& executables,
- const std::vector<std::string>& libraries,
- const std::vector<std::string>& modules);
- void SetError(const std::string& e);
- std::string GetBundleExecutable();
- const std::vector<std::string>& GetSearchDirectories();
- std::string GetGetRuntimeDependenciesTool();
- bool GetGetRuntimeDependenciesCommand(const std::string& search,
- std::vector<std::string>& command);
- bool IsPreExcluded(const std::string& name);
- bool IsPostExcluded(const std::string& name);
- void AddResolvedPath(const std::string& name, const std::string& path,
- bool& unique);
- void AddUnresolvedPath(const std::string& name);
- cmMakefile* GetMakefile();
- const std::map<std::string, std::set<std::string>>& GetResolvedPaths();
- const std::set<std::string>& GetUnresolvedPaths();
- private:
- cmCommand* Command;
- std::unique_ptr<cmBinUtilsLinker> Linker;
- std::string GetRuntimeDependenciesTool;
- std::vector<std::string> GetRuntimeDependenciesCommand;
- std::vector<std::string> SearchDirectories;
- std::string BundleExecutable;
- std::vector<cmsys::RegularExpression> PreIncludeRegexes;
- std::vector<cmsys::RegularExpression> PreExcludeRegexes;
- std::vector<cmsys::RegularExpression> PostIncludeRegexes;
- std::vector<cmsys::RegularExpression> PostExcludeRegexes;
- std::map<std::string, std::set<std::string>> ResolvedPaths;
- std::set<std::string> UnresolvedPaths;
- };
- #endif // cmRuntimeDependencyArchive_h
|