diff options
author | Nico Weber <nicolasweber@gmx.de> | 2016-02-03 21:11:28 (GMT) |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2016-02-03 21:11:28 (GMT) |
commit | ca5fc795f38c77e42657e9d276f1dfc5127a8243 (patch) | |
tree | c644cbf415675ac7650c9b442980e1d5149b2724 /src/build.cc | |
parent | f38a52c8393f5c850e378e8e6ad97ba589c253db (diff) | |
parent | 33b3480d82057a01de8f8de5671046c26c88db4b (diff) | |
download | Ninja-ca5fc795f38c77e42657e9d276f1dfc5127a8243.zip Ninja-ca5fc795f38c77e42657e9d276f1dfc5127a8243.tar.gz Ninja-ca5fc795f38c77e42657e9d276f1dfc5127a8243.tar.bz2 |
Merge pull request #1033 from colincross/failed
Print output file on failure
Diffstat (limited to 'src/build.cc')
-rw-r--r-- | src/build.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/build.cc b/src/build.cc index 45d3f32..e33a007 100644 --- a/src/build.cc +++ b/src/build.cc @@ -126,8 +126,15 @@ void BuildStatus::BuildEdgeFinished(Edge* edge, PrintStatus(edge); // Print the command that is spewing before printing its output. - if (!success) - printer_.PrintOnNewLine("FAILED: " + edge->EvaluateCommand() + "\n"); + if (!success) { + string outputs; + for (vector<Node*>::const_iterator o = edge->outputs_.begin(); + o != edge->outputs_.end(); ++o) + outputs += (*o)->path() + " "; + + printer_.PrintOnNewLine("FAILED: " + outputs + "\n"); + printer_.PrintOnNewLine(edge->EvaluateCommand() + "\n"); + } if (!output.empty()) { // ninja sets stdout and stderr of subprocesses to a pipe, to be able to |