summaryrefslogtreecommitdiffstats
path: root/src/build.cc
diff options
context:
space:
mode:
authorPeter Kümmel <kuemmel@coffeelogic.de>2013-10-13 10:20:17 (GMT)
committerPeter Kümmel <syntheticpp@gmx.net>2013-10-18 23:25:47 (GMT)
commit037b0934f929ba17434906fb781aeb1acb583385 (patch)
treef426231b651860a2ddc382d2c1ff842cdeab95d0 /src/build.cc
parent6f7ea464bb9161ce2e15deb97977886de152c12d (diff)
downloadNinja-037b0934f929ba17434906fb781aeb1acb583385.zip
Ninja-037b0934f929ba17434906fb781aeb1acb583385.tar.gz
Ninja-037b0934f929ba17434906fb781aeb1acb583385.tar.bz2
add deps_prefix for localized /showIncludes' output parsing
Diffstat (limited to 'src/build.cc')
-rw-r--r--src/build.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/build.cc b/src/build.cc
index 9718f85..33aa85b 100644
--- a/src/build.cc
+++ b/src/build.cc
@@ -714,9 +714,10 @@ bool Builder::FinishCommand(CommandRunner::Result* result, string* err) {
// build perspective.
vector<Node*> deps_nodes;
string deps_type = edge->GetBinding("deps");
+ const string deps_prefix = edge->GetBinding("msvc_deps_prefix");
if (!deps_type.empty()) {
string extract_err;
- if (!ExtractDeps(result, deps_type, &deps_nodes, &extract_err) &&
+ if (!ExtractDeps(result, deps_type, deps_prefix, &deps_nodes, &extract_err) &&
result->success()) {
if (!result->output.empty())
result->output.append("\n");
@@ -802,12 +803,13 @@ bool Builder::FinishCommand(CommandRunner::Result* result, string* err) {
bool Builder::ExtractDeps(CommandRunner::Result* result,
const string& deps_type,
+ const string& deps_prefix,
vector<Node*>* deps_nodes,
string* err) {
#ifdef _WIN32
if (deps_type == "msvc") {
CLParser parser;
- result->output = parser.Parse(result->output);
+ result->output = parser.Parse(result->output, deps_prefix);
for (set<string>::iterator i = parser.includes_.begin();
i != parser.includes_.end(); ++i) {
deps_nodes->push_back(state_->GetNode(*i));