[Cmake-commits] CMake branch, next, updated. v3.7.0-rc1-447-gb0ab354
Brad King
brad.king at kitware.com
Thu Oct 13 09:33:51 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 b0ab3549ef8113079c1f2957977b389a3858ab3a (commit)
via 4551b1ae134a3d1f6c7a30a9b941000a466a11ef (commit)
via 39b08858f676f0251898ffc7601ad216bb87ae21 (commit)
from 49fe82b52d6dd1c034b130ff17dd6c9f9511ce63 (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=b0ab3549ef8113079c1f2957977b389a3858ab3a
commit b0ab3549ef8113079c1f2957977b389a3858ab3a
Merge: 49fe82b 4551b1a
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Oct 13 09:33:51 2016 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Thu Oct 13 09:33:51 2016 -0400
Merge topic 'consoleBuf' into next
4551b1ae Enable Unicode output to Windows consoles
39b08858 cmSystemTools: Flush output buffer for list_item_verbose
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4551b1ae134a3d1f6c7a30a9b941000a466a11ef
commit 4551b1ae134a3d1f6c7a30a9b941000a466a11ef
Author: Dāvis Mosāns <davispuh at gmail.com>
AuthorDate: Sat Oct 1 03:11:35 2016 +0300
Commit: Brad King <brad.king at kitware.com>
CommitDate: Thu Oct 13 09:31:20 2016 -0400
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 a3281ab..1e9bb0f 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 0d1f1ce..3f71011 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();
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=39b08858f676f0251898ffc7601ad216bb87ae21
commit 39b08858f676f0251898ffc7601ad216bb87ae21
Author: Dāvis Mosāns <davispuh at gmail.com>
AuthorDate: Tue Oct 11 22:46:10 2016 +0300
Commit: Brad King <brad.king at kitware.com>
CommitDate: Thu Oct 13 09:24:45 2016 -0400
cmSystemTools: Flush output buffer for list_item_verbose
When `std::cout` and `FILE *stdout` are used at same time need to
explicitly flush otherwise they can be out of sync.
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index d800ef8..0a3a1ab 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -1499,6 +1499,7 @@ void list_item_verbose(FILE* out, struct archive_entry* entry)
{
fprintf(out, " -> %s", archive_entry_symlink(entry));
}
+ fflush(out);
}
long copy_data(struct archive* ar, struct archive* aw)
-----------------------------------------------------------------------
Summary of changes:
CMakeLists.txt | 1 +
Source/CPack/cpack.cxx | 8 ++++++++
Source/cmSystemTools.cxx | 1 +
Source/cmakemain.cxx | 8 ++++++++
Source/ctest.cxx | 8 ++++++++
5 files changed, 26 insertions(+)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list