summaryrefslogtreecommitdiff
path: root/Help
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-07-20 11:45:15 -0400
committerBrad King <brad.king@kitware.com>2022-07-20 11:46:23 -0400
commit70c26a65b72c3ade0e6bd79dd0d0802e7e4770f8 (patch)
treea599609297a63ed7803e33b29d0b868a1d721f16 /Help
parent9306a5ab28af6bb6dc2b933339ccc66764f44b12 (diff)
downloadcmake-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.rst11
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