diff options
author | Evan Martin <martine@danga.com> | 2013-01-06 23:21:07 (GMT) |
---|---|---|
committer | Evan Martin <martine@danga.com> | 2013-04-08 22:01:05 (GMT) |
commit | 1bda3330103dbc3b11c2043318da5fc66991a893 (patch) | |
tree | 301992e18d6b1cc05987242701ccfdf2e20486d5 /src/build.cc | |
parent | befa46192f97e98947e6d8772888e91e8a3bc629 (diff) | |
download | Ninja-1bda3330103dbc3b11c2043318da5fc66991a893.zip Ninja-1bda3330103dbc3b11c2043318da5fc66991a893.tar.gz Ninja-1bda3330103dbc3b11c2043318da5fc66991a893.tar.bz2 |
windows: use CLParser to extract deps during build
Diffstat (limited to 'src/build.cc')
-rw-r--r-- | src/build.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/build.cc b/src/build.cc index eea2d70..f648584 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<Node*>* deps_nodes, string* err) { #ifdef _WIN32 + CLParser parser; + result->output = parser.Parse(result->output); + for (set<string>::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; } |