diff --git a/src/build.cc b/src/build.cc index eea2d70f2d..f648584ddf 100644 --- a/src/build.cc +++ b/src/build.cc @@ -36,6 +36,7 @@ #include "depfile_parser.h" #include "disk_interface.h" #include "graph.h" +#include "msvc_helper.h" #include "state.h" #include "subprocess.h" #include "util.h" @@ -864,6 +865,12 @@ bool Builder::ExtractDeps(CommandRunner::Result* result, vector* deps_nodes, string* err) { #ifdef _WIN32 + CLParser parser; + result->output = parser.Parse(result->output); + for (set::iterator i = parser.includes_.begin(); + i != parser.includes_.end(); ++i) { + deps_nodes->push_back(state_->GetNode(*i)); + } #else string depfile = result->edge->GetBinding("depfile"); if (depfile.empty()) @@ -894,5 +901,5 @@ bool Builder::ExtractDeps(CommandRunner::Result* result, */ #endif - return deps_nodes; + return true; }