46 bool FileIsExecutable(std::string path);
49 bool FileIsSharedLibrary(std::string path);
52 bool PathIsAbsolute(
const std::string&);
55 bool PathIsDirectory(std::string);
58 bool PathIsFile(std::string);
65 typedef std::function<std::string (std::string, const std::vector<std::string>&)>
69 MissingFileReporter DefaultFilename(std::string name =
"");
72 std::string FileNotFound(std::string name,
const std::vector<std::string>& searchPaths);
80 std::string AbsoluteDirectory(std::string name,
bool createIfMissing =
true);
83 std::string AbsolutePath(std::string path);
86 std::string BaseName(std::string path);
89 std::string CreateDirCommand(std::string directory);
92 std::string DirectoryOf(std::string filename,
bool absolute =
false);
95 std::string FileExtension(std::string path);
98 std::string FilenameComponent(std::string pathIncludingDirectory);
101 std::string FindExecutable(std::string name, MissingFileReporter report = FileNotFound);
110 std::string FindFile(std::string filename,
const std::vector<std::string>& directories,
111 std::function<
bool (
const std::string&)> test = PathIsFile,
112 MissingFileReporter report = FileNotFound);
115 std::string JoinPath(
const std::string&,
const std::string&);
118 std::string JoinPath(
const std::vector<std::string>&);
121 std::string LibraryFilename(std::string name);
128 std::vector<std::string> PluginSearchPaths(std::string executablePath);
136 std::string FindModule(std::string srcroot, std::string subdir,
137 std::string filename);