diff options
author | Marius Messerschmidt <marius.messerschmidt@googlemail.com> | 2021-05-18 21:32:44 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2021-05-20 11:38:45 (GMT) |
commit | 0a0a0f8a744e2bfa35cdbc90db6e4e23adadd59b (patch) | |
tree | 5c8aff122dce421ae24d56d221b77d39658b0c36 /Source/cmakemain.cxx | |
parent | bceb8e2ed23340a90d2093e05d50f0cc797f6432 (diff) | |
download | CMake-0a0a0f8a744e2bfa35cdbc90db6e4e23adadd59b.zip CMake-0a0a0f8a744e2bfa35cdbc90db6e4e23adadd59b.tar.gz CMake-0a0a0f8a744e2bfa35cdbc90db6e4e23adadd59b.tar.bz2 |
cmMessenger: Color messages to terminal by type
Fixes: #16183
Diffstat (limited to 'Source/cmakemain.cxx')
-rw-r--r-- | Source/cmakemain.cxx | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx index 60ac0ca..93eb415 100644 --- a/Source/cmakemain.cxx +++ b/Source/cmakemain.cxx @@ -6,6 +6,7 @@ #include <algorithm> #include <cassert> #include <climits> +#include <cstdio> #include <cstring> #include <iostream> #include <sstream> @@ -23,6 +24,7 @@ #include "cmDocumentationEntry.h" // IWYU pragma: keep #include "cmGlobalGenerator.h" #include "cmMakefile.h" +#include "cmMessageMetadata.h" #include "cmProperty.h" #include "cmState.h" #include "cmStateTypes.h" @@ -37,8 +39,7 @@ #endif #include "cmsys/Encoding.hxx" - -struct cmMessageMetadata; +#include "cmsys/Terminal.h" namespace { #ifndef CMAKE_BOOTSTRAP @@ -150,9 +151,11 @@ std::string cmakemainGetStack(cmake* cm) } void cmakemainMessageCallback(const std::string& m, - const cmMessageMetadata& /* unused */, cmake* cm) + const cmMessageMetadata& md, cmake* cm) { - std::cerr << m << cmakemainGetStack(cm) << std::endl; + cmsysTerminal_cfprintf(md.desiredColor, stderr, "%s", m.c_str()); + fflush(stderr); // stderr is buffered in some cases. + std::cerr << cmakemainGetStack(cm) << "\n"; } void cmakemainProgressCallback(const std::string& m, float prog, cmake* cm) |