diff --git a/Help/command/execute_process.rst b/Help/command/execute_process.rst index c02dbba894..2591dba149 100644 --- a/Help/command/execute_process.rst +++ b/Help/command/execute_process.rst @@ -140,12 +140,15 @@ 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. + + This was the default in CMake 3.14 and older. ``AUTO`` Use the current active console's codepage or if that isn't available then use ANSI. + This is the default since CMake 3.15. + ``ANSI`` Use the ANSI codepage. diff --git a/Tests/RunCMake/execute_process/EncodingDefault-stderr.txt b/Tests/RunCMake/execute_process/EncodingDefault-stderr.txt new file mode 100644 index 0000000000..b4cf27ab7c --- /dev/null +++ b/Tests/RunCMake/execute_process/EncodingDefault-stderr.txt @@ -0,0 +1,2 @@ +Chinese +注意 diff --git a/Tests/RunCMake/execute_process/EncodingDefault.cmake b/Tests/RunCMake/execute_process/EncodingDefault.cmake new file mode 100644 index 0000000000..60b1eb6a75 --- /dev/null +++ b/Tests/RunCMake/execute_process/EncodingDefault.cmake @@ -0,0 +1,3 @@ +# No explicit ENCODING option; fall back to default. +set(CODEPAGE 54936) +include(${CMAKE_CURRENT_LIST_DIR}/Encoding.cmake) diff --git a/Tests/RunCMake/execute_process/RunCMakeTest.cmake b/Tests/RunCMake/execute_process/RunCMakeTest.cmake index bbf139ea5c..b3ebdcaa53 100644 --- a/Tests/RunCMake/execute_process/RunCMakeTest.cmake +++ b/Tests/RunCMake/execute_process/RunCMakeTest.cmake @@ -9,6 +9,7 @@ run_cmake_command(MergeOutputVars ${CMAKE_COMMAND} -P ${RunCMake_SOURCE_DIR}/Mer run_cmake(EncodingMissing) if(TEST_ENCODING_EXE) + run_cmake_script(EncodingDefault -DTEST_ENCODING_EXE=${TEST_ENCODING_EXE}) run_cmake_script(EncodingAUTO -DTEST_ENCODING_EXE=${TEST_ENCODING_EXE}) run_cmake_script(EncodingUTF-8 -DTEST_ENCODING_EXE=${TEST_ENCODING_EXE}) run_cmake_script(EncodingUTF8 -DTEST_ENCODING_EXE=${TEST_ENCODING_EXE})