diff options
author | Brad King <brad.king@kitware.com> | 2022-07-20 11:45:15 -0400 |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2022-07-20 11:46:23 -0400 |
commit | 70c26a65b72c3ade0e6bd79dd0d0802e7e4770f8 (patch) | |
tree | a599609297a63ed7803e33b29d0b868a1d721f16 /Help | |
parent | 9306a5ab28af6bb6dc2b933339ccc66764f44b12 (diff) | |
download | cmake-70c26a65b72c3ade0e6bd79dd0d0802e7e4770f8.tar.gz |
Help: Clarify execute_process OS-specific command-line encoding
Issue: #23557
Diffstat (limited to 'Help')
-rw-r--r-- | Help/command/execute_process.rst | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/Help/command/execute_process.rst b/Help/command/execute_process.rst index 82fcd46a51..d4ba4654db 100644 --- a/Help/command/execute_process.rst +++ b/Help/command/execute_process.rst @@ -37,8 +37,15 @@ Options: ``COMMAND`` A child process command line. - CMake executes the child process using operating system APIs directly. - All arguments are passed VERBATIM to the child process. + CMake executes the child process using operating system APIs directly: + + * On POSIX platforms, the command line is passed to the + child process in an ``argv[]`` style array. + + * On Windows platforms, the command line is encoded as a string such + that child processes using ``CommandLineToArgvW`` will decode the + original arguments. + No intermediate shell is used, so shell operators such as ``>`` are treated as normal arguments. (Use the ``INPUT_*``, ``OUTPUT_*``, and ``ERROR_*`` options to |