summaryrefslogtreecommitdiffstats
path: root/Source/cmConsoleBuf.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-10-14 14:57:46 (GMT)
committerBrad King <brad.king@kitware.com>2020-10-14 16:08:06 (GMT)
commit90b39a52090e6ba52424b441d5827b2b6e11ff56 (patch)
tree9c4e327b43eaa0a34b3f41e210c22e103f08611d /Source/cmConsoleBuf.h
parentf1fdd15863150fe42e99a95362a4387333502262 (diff)
downloadCMake-90b39a52090e6ba52424b441d5827b2b6e11ff56.zip
CMake-90b39a52090e6ba52424b441d5827b2b6e11ff56.tar.gz
CMake-90b39a52090e6ba52424b441d5827b2b6e11ff56.tar.bz2
cmConsoleBuf: Factor out cout/cerr console buffer management
Diffstat (limited to 'Source/cmConsoleBuf.h')
-rw-r--r--Source/cmConsoleBuf.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/Source/cmConsoleBuf.h b/Source/cmConsoleBuf.h
new file mode 100644
index 0000000..3564598
--- /dev/null
+++ b/Source/cmConsoleBuf.h
@@ -0,0 +1,23 @@
+/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
+ file Copyright.txt or https://cmake.org/licensing for details. */
+#pragma once
+
+#include "cmConfigure.h" // IWYU pragma: keep
+
+#if defined(_WIN32) && !defined(CMAKE_BOOTSTRAP)
+# include "cmsys/ConsoleBuf.hxx"
+#endif
+
+class cmConsoleBuf
+{
+#if defined(_WIN32) && !defined(CMAKE_BOOTSTRAP)
+ cmsys::ConsoleBuf::Manager m_ConsoleOut;
+ cmsys::ConsoleBuf::Manager m_ConsoleErr;
+#endif
+public:
+ cmConsoleBuf();
+ ~cmConsoleBuf();
+ cmConsoleBuf(cmConsoleBuf const&) = delete;
+ cmConsoleBuf& operator=(cmConsoleBuf const&) = delete;
+ void SetUTF8Pipes();
+};