summaryrefslogtreecommitdiffstats
path: root/src/build.cc
diff options
context:
space:
mode:
authorEvan Martin <martine@danga.com>2013-01-06 23:21:07 (GMT)
committerEvan Martin <martine@danga.com>2013-04-08 22:01:05 (GMT)
commit1bda3330103dbc3b11c2043318da5fc66991a893 (patch)
tree301992e18d6b1cc05987242701ccfdf2e20486d5 /src/build.cc
parentbefa46192f97e98947e6d8772888e91e8a3bc629 (diff)
downloadNinja-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.cc9
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;
}