From 07c3380a6e2a09b7e5976ddbacf385b8b4cde2cd Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 13 Feb 2017 13:49:14 -0500 Subject: execute_process: Restore no-decoding default behavior Since commit v3.8.0-rc1~232^2 (execute_process: Add ENCODING option for Windows child process output, 2016-11-23) we decode child process output using the console's active codepage by default. This differs from previous versions of CMake and is therefore incompatible. Changing this default will require a policy, so for now revert the default behavior back to performing no decoding. Reported-by: Nils Gladitz --- Help/command/execute_process.rst | 2 +- Source/cmExecuteProcessCommand.cxx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Help/command/execute_process.rst b/Help/command/execute_process.rst index 5a77735..d617243 100644 --- a/Help/command/execute_process.rst +++ b/Help/command/execute_process.rst @@ -75,10 +75,10 @@ Options: ``NONE`` Perform no decoding. This assumes that the process output is encoded in the same way as CMake's internal encoding (UTF-8). + This is the default. ``AUTO`` Use the current active console's codepage or if that isn't available then use ANSI. - This is the default. ``ANSI`` Use the ANSI codepage. ``OEM`` diff --git a/Source/cmExecuteProcessCommand.cxx b/Source/cmExecuteProcessCommand.cxx index eb26a50..92cdf64 100644 --- a/Source/cmExecuteProcessCommand.cxx +++ b/Source/cmExecuteProcessCommand.cxx @@ -47,7 +47,7 @@ bool cmExecuteProcessCommand::InitialPass(std::vector const& args, std::string error_variable; std::string result_variable; std::string working_directory; - cmProcessOutput::Encoding encoding = cmProcessOutput::Auto; + cmProcessOutput::Encoding encoding = cmProcessOutput::None; for (size_t i = 0; i < args.size(); ++i) { if (args[i] == "COMMAND") { doing_command = true; -- cgit v0.12