[Cmake-commits] CMake branch, next, updated. v3.7.0-rc2-771-ga3dab54

Brad King brad.king at kitware.com
Wed Oct 26 11:21:35 EDT 2016


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  a3dab54134c6bd015edcc55d88a74204836649ca (commit)
       via  335a29cb07a8d014a9ed4d4dbf25e49da3a78b33 (commit)
      from  0ab2c473c7c04905a0a791e0c2897ed74c51eb4b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a3dab54134c6bd015edcc55d88a74204836649ca
commit a3dab54134c6bd015edcc55d88a74204836649ca
Merge: 0ab2c47 335a29c
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Oct 26 11:21:35 2016 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Oct 26 11:21:35 2016 -0400

    Merge topic 'consoleBuf' into next
    
    335a29cb Enable Unicode output to Windows consoles


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=335a29cb07a8d014a9ed4d4dbf25e49da3a78b33
commit 335a29cb07a8d014a9ed4d4dbf25e49da3a78b33
Author:     Dāvis Mosāns <davispuh at gmail.com>
AuthorDate: Sat Oct 1 03:11:35 2016 +0300
Commit:     Dāvis Mosāns <davispuh at gmail.com>
CommitDate: Wed Oct 26 17:02:37 2016 +0300

    Enable Unicode output to Windows consoles
    
    Use KWSys ConsoleBuf to replace the `streambuf` on `std::cout` and
    `std::cerr` so that process output can be encoded correctly for display
    in a Windows console.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b8a635f..1bc4b4e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -260,6 +260,7 @@ macro (CMAKE_BUILD_UTILITIES)
   set(KWSYS_USE_MD5 1)
   set(KWSYS_USE_Process 1)
   set(KWSYS_USE_CommandLineArguments 1)
+  set(KWSYS_USE_ConsoleBuf 1)
   set(KWSYS_HEADER_ROOT ${CMake_BINARY_DIR}/Source)
   set(KWSYS_INSTALL_DOC_DIR "${CMAKE_DOC_DIR}")
   add_subdirectory(Source/kwsys)
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();

-----------------------------------------------------------------------

Summary of changes:
 CMakeLists.txt         |    1 +
 Source/CPack/cpack.cxx |    8 ++++++++
 Source/cmakemain.cxx   |    8 ++++++++
 Source/ctest.cxx       |    8 ++++++++
 4 files changed, 25 insertions(+)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list