summaryrefslogtreecommitdiffstats
path: root/Help/command/execute_process.rst
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-07-20 15:45:15 (GMT)
committerBrad King <brad.king@kitware.com>2022-07-20 15:46:23 (GMT)
commit70c26a65b72c3ade0e6bd79dd0d0802e7e4770f8 (patch)
treea599609297a63ed7803e33b29d0b868a1d721f16 /Help/command/execute_process.rst
parent9306a5ab28af6bb6dc2b933339ccc66764f44b12 (diff)
downloadCMake-70c26a65b72c3ade0e6bd79dd0d0802e7e4770f8.zip
CMake-70c26a65b72c3ade0e6bd79dd0d0802e7e4770f8.tar.gz
CMake-70c26a65b72c3ade0e6bd79dd0d0802e7e4770f8.tar.bz2
Help: Clarify execute_process OS-specific command-line encoding
Issue: #23557
Diffstat (limited to 'Help/command/execute_process.rst')
-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 82fcd46..d4ba465 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