summaryrefslogtreecommitdiffstats
path: root/Source/cmCTest.cxx
diff options
context:
space:
mode:
authorCristian Adam <cristian.adam@gmail.com>2023-10-31 18:06:49 (GMT)
committerBrad King <brad.king@kitware.com>2023-11-01 13:43:59 (GMT)
commit2553a78aa74d321ab401e0142b327611e344ee60 (patch)
tree8390a511dc80dc44ff4197416dda0eec8442cbf1 /Source/cmCTest.cxx
parente416b3122e54d795c096c2b7065a60e5d0be7b24 (diff)
downloadCMake-2553a78aa74d321ab401e0142b327611e344ee60.zip
CMake-2553a78aa74d321ab401e0142b327611e344ee60.tar.gz
CMake-2553a78aa74d321ab401e0142b327611e344ee60.tar.bz2
ctest: Allow colored output on Windows if CLICOLOR_FORCE is set to 1
Windows 10 supports ANSI colors since v1511. For earlier versions of Windows installing ANSICON will enable ANSI colors in cmd.exe. For those setups where the environment is set up with CLICOLOR_FORCE set to 1 ctest should honor the setting and emit colored ANSI output.
Diffstat (limited to 'Source/cmCTest.cxx')
-rw-r--r--Source/cmCTest.cxx15
1 files changed, 5 insertions, 10 deletions
diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx
index b7232f3..6e684a3 100644
--- a/Source/cmCTest.cxx
+++ b/Source/cmCTest.cxx
@@ -2257,11 +2257,6 @@ bool cmCTest::ProgressOutputSupportedByConsole()
bool cmCTest::ColoredOutputSupportedByConsole()
{
-#if defined(_WIN32)
- // Not supported on Windows
- return false;
-#else
- // On UNIX we need a non-dumb tty.
std::string clicolor_force;
if (cmSystemTools::GetEnv("CLICOLOR_FORCE", clicolor_force) &&
!clicolor_force.empty() && clicolor_force != "0") {
@@ -2271,6 +2266,11 @@ bool cmCTest::ColoredOutputSupportedByConsole()
if (cmSystemTools::GetEnv("CLICOLOR", clicolor) && clicolor == "0") {
return false;
}
+#if defined(_WIN32)
+ // Not supported on Windows
+ return false;
+#else
+ // On UNIX we need a non-dumb tty.
return ConsoleIsNotDumb();
#endif
}
@@ -3736,12 +3736,7 @@ void cmCTest::Log(int logType, const char* file, int line, const char* msg,
std::string cmCTest::GetColorCode(Color color) const
{
if (this->Impl->OutputColorCode) {
-#if defined(_WIN32)
- // Not supported on Windows
- static_cast<void>(color);
-#else
return "\033[0;" + std::to_string(static_cast<int>(color)) + "m";
-#endif
}
return "";