diff options
author | Brad King <brad.king@kitware.com> | 2015-08-27 20:41:34 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2015-08-28 19:16:05 (GMT) |
commit | bfb9d34f8afe66c2ce344b36db48568fc88950c9 (patch) | |
tree | 54e461db105966453dcebf31ca89eb1e3804ffe2 /Source/cmSystemTools.cxx | |
parent | 4a6fe0290880bd56dd5141f06c9fa2b9e310162e (diff) | |
download | CMake-bfb9d34f8afe66c2ce344b36db48568fc88950c9.zip CMake-bfb9d34f8afe66c2ce344b36db48568fc88950c9.tar.gz CMake-bfb9d34f8afe66c2ce344b36db48568fc88950c9.tar.bz2 |
Makefile: Print color escapes only when necessary
Teach cmSystemTools::MakefileColorEcho to use the color printing API
only when we actually have a color to print. This avoids printing
escape sequences that do not change the text attributes.
Since commit v3.3.0-rc1~480^2~4 (Makefile: Fix output during parallel
builds, 2015-02-05) we always use this code path to print progress and
rule messages even when color is disabled (e.g. in a try_compile). It
is important to avoid printing escapes when there is no color because on
MSYS we have no isatty and so assume that vt100 escapes are supported,
but we do not want to print them when capturing try_compile output.
If we capture the vt100 escapes in try_compile output, they contain
unbalanced square brackets. This causes CMakeParseImplicitLinkInfo
to fail to separate lines in a ;-list and therefore fail to extract
information from the link line. Then mixed-language linking breaks.
Diffstat (limited to 'Source/cmSystemTools.cxx')
-rw-r--r-- | Source/cmSystemTools.cxx | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index e2adabe..b440a17 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -2331,7 +2331,7 @@ void cmSystemTools::MakefileColorEcho(int color, const char* message, assumeTTY = 0; } - if(enabled) + if(enabled && color != cmsysTerminal_Color_Normal) { // Print with color. Delay the newline until later so that // all color restore sequences appear before it. |