mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-23 00:48:55 +08:00
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 <nilsgladitz@gmail.com>
This commit is contained in:
@@ -75,10 +75,10 @@ Options:
|
|||||||
``NONE``
|
``NONE``
|
||||||
Perform no decoding. This assumes that the process output is encoded
|
Perform no decoding. This assumes that the process output is encoded
|
||||||
in the same way as CMake's internal encoding (UTF-8).
|
in the same way as CMake's internal encoding (UTF-8).
|
||||||
|
This is the default.
|
||||||
``AUTO``
|
``AUTO``
|
||||||
Use the current active console's codepage or if that isn't
|
Use the current active console's codepage or if that isn't
|
||||||
available then use ANSI.
|
available then use ANSI.
|
||||||
This is the default.
|
|
||||||
``ANSI``
|
``ANSI``
|
||||||
Use the ANSI codepage.
|
Use the ANSI codepage.
|
||||||
``OEM``
|
``OEM``
|
||||||
|
@@ -47,7 +47,7 @@ bool cmExecuteProcessCommand::InitialPass(std::vector<std::string> const& args,
|
|||||||
std::string error_variable;
|
std::string error_variable;
|
||||||
std::string result_variable;
|
std::string result_variable;
|
||||||
std::string working_directory;
|
std::string working_directory;
|
||||||
cmProcessOutput::Encoding encoding = cmProcessOutput::Auto;
|
cmProcessOutput::Encoding encoding = cmProcessOutput::None;
|
||||||
for (size_t i = 0; i < args.size(); ++i) {
|
for (size_t i = 0; i < args.size(); ++i) {
|
||||||
if (args[i] == "COMMAND") {
|
if (args[i] == "COMMAND") {
|
||||||
doing_command = true;
|
doing_command = true;
|
||||||
|
Reference in New Issue
Block a user