diff options
author | Brad King <brad.king@kitware.com> | 2016-10-27 15:17:12 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2016-10-27 15:17:12 (GMT) |
commit | 402b133d7b13c691a3d3f3a354bd10eea1ff24f1 (patch) | |
tree | 59f7c3cfe966290fd3f84cc1f0e62d8517626857 /Source | |
parent | 8f6fd091b8b2faac52082a5dc854966e70ab3447 (diff) | |
parent | 335a29cb07a8d014a9ed4d4dbf25e49da3a78b33 (diff) | |
download | CMake-402b133d7b13c691a3d3f3a354bd10eea1ff24f1.zip CMake-402b133d7b13c691a3d3f3a354bd10eea1ff24f1.tar.gz CMake-402b133d7b13c691a3d3f3a354bd10eea1ff24f1.tar.bz2 |
Merge topic 'consoleBuf'
335a29cb Enable Unicode output to Windows consoles
Diffstat (limited to 'Source')
-rw-r--r-- | Source/CPack/cpack.cxx | 8 | ||||
-rw-r--r-- | Source/cmakemain.cxx | 8 | ||||
-rw-r--r-- | Source/ctest.cxx | 8 |
3 files changed, 24 insertions, 0 deletions
diff --git a/Source/CPack/cpack.cxx b/Source/CPack/cpack.cxx index b06bd38..06472c6 100644 --- a/Source/CPack/cpack.cxx +++ b/Source/CPack/cpack.cxx @@ -17,6 +17,9 @@ #include <cmsys/CommandLineArguments.hxx> #include <cmsys/Encoding.hxx> +#if defined(_WIN32) && defined(CMAKE_BUILD_WITH_CMAKE) +#include <cmsys/ConsoleBuf.hxx> +#endif #include <iostream> #include <map> #include <sstream> @@ -84,6 +87,11 @@ int cpackDefinitionArgument(const char* argument, const char* cValue, // this is CPack. int main(int argc, char const* const* argv) { +#if defined(_WIN32) && defined(CMAKE_BUILD_WITH_CMAKE) + // Replace streambuf so we can output Unicode to console + cmsys::ConsoleBuf::Manager consoleOut(std::cout); + cmsys::ConsoleBuf::Manager consoleErr(std::cerr, true); +#endif cmsys::Encoding::CommandLineArguments args = cmsys::Encoding::CommandLineArguments::Main(argc, argv); argc = args.argc(); diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx index d1159c3..44af966 100644 --- a/Source/cmakemain.cxx +++ b/Source/cmakemain.cxx @@ -18,6 +18,9 @@ #include <cmConfigure.h> #include <cmsys/Encoding.hxx> +#if defined(_WIN32) && defined(CMAKE_BUILD_WITH_CMAKE) +#include <cmsys/ConsoleBuf.hxx> +#endif #include <iostream> #include <string.h> #include <string> @@ -153,6 +156,11 @@ static void cmakemainProgressCallback(const char* m, float prog, int main(int ac, char const* const* av) { +#if defined(_WIN32) && defined(CMAKE_BUILD_WITH_CMAKE) + // Replace streambuf so we can output Unicode to console + cmsys::ConsoleBuf::Manager consoleOut(std::cout); + cmsys::ConsoleBuf::Manager consoleErr(std::cerr, true); +#endif cmsys::Encoding::CommandLineArguments args = cmsys::Encoding::CommandLineArguments::Main(ac, av); ac = args.argc(); diff --git a/Source/ctest.cxx b/Source/ctest.cxx index 8ab17b9..1acd240 100644 --- a/Source/ctest.cxx +++ b/Source/ctest.cxx @@ -10,6 +10,9 @@ #include "cmake.h" #include <cmsys/Encoding.hxx> +#if defined(_WIN32) && defined(CMAKE_BUILD_WITH_CMAKE) +#include <cmsys/ConsoleBuf.hxx> +#endif #include <iostream> #include <string.h> #include <string> @@ -110,6 +113,11 @@ static const char* cmDocumentationOptions[][2] = { // this is a test driver program for cmCTest. int main(int argc, char const* const* argv) { +#if defined(_WIN32) && defined(CMAKE_BUILD_WITH_CMAKE) + // Replace streambuf so we can output Unicode to console + cmsys::ConsoleBuf::Manager consoleOut(std::cout); + cmsys::ConsoleBuf::Manager consoleErr(std::cerr, true); +#endif cmsys::Encoding::CommandLineArguments encoding_args = cmsys::Encoding::CommandLineArguments::Main(argc, argv); argc = encoding_args.argc(); |