summaryrefslogtreecommitdiffstats
path: root/src/msvc_helper.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/msvc_helper.h')
-rw-r--r--src/msvc_helper.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/msvc_helper.h b/src/msvc_helper.h
index e7c2b1a..5a657be 100644
--- a/src/msvc_helper.h
+++ b/src/msvc_helper.h
@@ -23,7 +23,16 @@ struct StringPiece;
/// format when building with /showIncludes. This class wraps a CL
/// process and parses that output to extract the file list.
struct CLWrapper {
+ /// Start a process and parse its output. Returns its exit code.
+ /// Any non-parsed output is buffered into \a extra_output if provided,
+ /// otherwise it is printed to stdout while the process runs.
+ /// Crashes (calls Fatal()) on error.
+ int Run(const string& command, string* extra_output=NULL);
+
/// Parse a line of cl.exe output and extract /showIncludes info.
/// If a dependency is extracted, returns a nonempty string.
+ /// Exposed for testing.
static string FilterShowIncludes(const string& line);
+
+ vector<string> includes_;
};