diff options
author | Brad King <brad.king@kitware.com> | 2009-03-16 20:55:58 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2009-03-16 20:55:58 (GMT) |
commit | 493f88ce553ec7e39db83bd1bdf5c0896420c52d (patch) | |
tree | 12ff5faa0dff23b7e0b667a30da972d0d7673744 /Source/cmMakefileLibraryTargetGenerator.cxx | |
parent | 49dec94f54c6c896b2d42f6bea0b36bd429693c9 (diff) | |
download | CMake-493f88ce553ec7e39db83bd1bdf5c0896420c52d.zip CMake-493f88ce553ec7e39db83bd1bdf5c0896420c52d.tar.gz CMake-493f88ce553ec7e39db83bd1bdf5c0896420c52d.tar.bz2 |
ENH: Allow projects to disable per-rule echo lines
This creates global property RULE_MESSAGES which can be set to disbale
per-rule progress and action reporting. On Windows, these reports may
cause a noticable delay due to the cost of starting extra processes.
This feature will allow scripted builds to avoid the cost since they do
not need detailed information anyway. This replaces the RULE_PROGRESS
property created earlier as it is more complete. See issue #8726.
Diffstat (limited to 'Source/cmMakefileLibraryTargetGenerator.cxx')
-rw-r--r-- | Source/cmMakefileLibraryTargetGenerator.cxx | 41 |
1 files changed, 22 insertions, 19 deletions
diff --git a/Source/cmMakefileLibraryTargetGenerator.cxx b/Source/cmMakefileLibraryTargetGenerator.cxx index e38a196..0e71d50 100644 --- a/Source/cmMakefileLibraryTargetGenerator.cxx +++ b/Source/cmMakefileLibraryTargetGenerator.cxx @@ -448,27 +448,30 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules this->Convert(targetFullPathImport.c_str(),cmLocalGenerator::START_OUTPUT, cmLocalGenerator::SHELL); - // Add the link message. - std::string buildEcho = "Linking "; - buildEcho += linkLanguage; - switch(this->Target->GetType()) + if(!this->NoRuleMessages) { - case cmTarget::STATIC_LIBRARY: - buildEcho += " static library "; - break; - case cmTarget::SHARED_LIBRARY: - buildEcho += " shared library "; - break; - case cmTarget::MODULE_LIBRARY: - buildEcho += " shared module "; - break; - default: - buildEcho += " library "; - break; + // Add the link message. + std::string buildEcho = "Linking "; + buildEcho += linkLanguage; + switch(this->Target->GetType()) + { + case cmTarget::STATIC_LIBRARY: + buildEcho += " static library "; + break; + case cmTarget::SHARED_LIBRARY: + buildEcho += " shared library "; + break; + case cmTarget::MODULE_LIBRARY: + buildEcho += " shared module "; + break; + default: + buildEcho += " library "; + break; + } + buildEcho += targetOutPath.c_str(); + this->LocalGenerator->AppendEcho(commands, buildEcho.c_str(), + cmLocalUnixMakefileGenerator3::EchoLink); } - buildEcho += targetOutPath.c_str(); - this->LocalGenerator->AppendEcho(commands, buildEcho.c_str(), - cmLocalUnixMakefileGenerator3::EchoLink); const char* forbiddenFlagVar = 0; switch(this->Target->GetType()) |