15 #ifndef NINJA_CLPARSER_H_
16 #define NINJA_CLPARSER_H_
30 const std::string& deps_prefix);
45 bool Parse(
const std::string& output,
const std::string& deps_prefix,
46 std::string* filtered_output, std::string* err);
Visual Studio's cl.exe requires some massaging to work with Ninja; for example, it emits include info...
static bool FilterInputFilename(std::string line)
Parse a line of cl.exe output and return true if it looks like it's printing an input filename.
static std::string FilterShowIncludes(const std::string &line, const std::string &deps_prefix)
Parse a line of cl.exe output and extract /showIncludes info.
static bool IsSystemInclude(std::string path)
Return true if a mentioned include file is a system path.
std::set< std::string > includes_
bool Parse(const std::string &output, const std::string &deps_prefix, std::string *filtered_output, std::string *err)
Parse the full output of cl, filling filtered_output with the text that should be printed (if any).