|
@@ -6,6 +6,7 @@
|
|
|
#include <algorithm>
|
|
#include <algorithm>
|
|
|
#include <cassert>
|
|
#include <cassert>
|
|
|
#include <climits>
|
|
#include <climits>
|
|
|
|
|
+#include <cstdio>
|
|
|
#include <cstring>
|
|
#include <cstring>
|
|
|
#include <iostream>
|
|
#include <iostream>
|
|
|
#include <sstream>
|
|
#include <sstream>
|
|
@@ -23,6 +24,7 @@
|
|
|
#include "cmDocumentationEntry.h" // IWYU pragma: keep
|
|
#include "cmDocumentationEntry.h" // IWYU pragma: keep
|
|
|
#include "cmGlobalGenerator.h"
|
|
#include "cmGlobalGenerator.h"
|
|
|
#include "cmMakefile.h"
|
|
#include "cmMakefile.h"
|
|
|
|
|
+#include "cmMessageMetadata.h"
|
|
|
#include "cmProperty.h"
|
|
#include "cmProperty.h"
|
|
|
#include "cmState.h"
|
|
#include "cmState.h"
|
|
|
#include "cmStateTypes.h"
|
|
#include "cmStateTypes.h"
|
|
@@ -37,8 +39,7 @@
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
#include "cmsys/Encoding.hxx"
|
|
#include "cmsys/Encoding.hxx"
|
|
|
-
|
|
|
|
|
-struct cmMessageMetadata;
|
|
|
|
|
|
|
+#include "cmsys/Terminal.h"
|
|
|
|
|
|
|
|
namespace {
|
|
namespace {
|
|
|
#ifndef CMAKE_BOOTSTRAP
|
|
#ifndef CMAKE_BOOTSTRAP
|
|
@@ -150,9 +151,11 @@ std::string cmakemainGetStack(cmake* cm)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void cmakemainMessageCallback(const std::string& m,
|
|
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)
|
|
void cmakemainProgressCallback(const std::string& m, float prog, cmake* cm)
|