summaryrefslogtreecommitdiffstats
path: root/src/build.cc
diff options
context:
space:
mode:
authorEvan Martin <martine@danga.com>2010-12-14 16:37:48 (GMT)
committerEvan Martin <martine@danga.com>2010-12-14 16:37:48 (GMT)
commita4b90fa428f6b1836854c089754c912f72c7bfb2 (patch)
tree00f84971f1c82b8dae9e8abc3e3fe90bc2e8c0fb /src/build.cc
parentbad6337f7cd39c557c392b19f8ac89e8ce190e2a (diff)
downloadNinja-a4b90fa428f6b1836854c089754c912f72c7bfb2.zip
Ninja-a4b90fa428f6b1836854c089754c912f72c7bfb2.tar.gz
Ninja-a4b90fa428f6b1836854c089754c912f72c7bfb2.tar.bz2
verbosity tristate
Diffstat (limited to 'src/build.cc')
-rw-r--r--src/build.cc17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/build.cc b/src/build.cc
index c160dc3..dc1fcab 100644
--- a/src/build.cc
+++ b/src/build.cc
@@ -13,12 +13,13 @@ struct BuildStatusLog {
time_t last_update_;
int finished_edges_, total_edges_;
- bool verbose_;
+
+ BuildConfig::Verbosity verbosity_;
};
BuildStatusLog::BuildStatusLog()
: last_update_(time(NULL)), finished_edges_(0), total_edges_(0),
- verbose_(false) {}
+ verbosity_(BuildConfig::NORMAL) {}
void BuildStatusLog::PlanHasTotalEdges(int total) {
total_edges_ = total;
@@ -26,10 +27,12 @@ void BuildStatusLog::PlanHasTotalEdges(int total) {
void BuildStatusLog::BuildEdgeStarted(Edge* edge) {
string desc = edge->GetDescription();
- if (!verbose_ && !desc.empty())
- printf("%s\n", desc.c_str());
- else
- printf("%s\n", edge->EvaluateCommand().c_str());
+ if (verbosity_ != BuildConfig::QUIET) {
+ if (verbosity_ != BuildConfig::VERBOSE && !desc.empty())
+ printf("%s\n", desc.c_str());
+ else
+ printf("%s\n", edge->EvaluateCommand().c_str());
+ }
}
void BuildStatusLog::BuildEdgeFinished(Edge* edge) {
@@ -243,7 +246,7 @@ Builder::Builder(State* state, const BuildConfig& config)
else
command_runner_ = new RealCommandRunner;
log_ = new BuildStatusLog;
- log_->verbose_ = config.verbose;
+ log_->verbosity_ = config.verbosity;
}
Node* Builder::AddTarget(const string& name, string* err) {