| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| |
| |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| |
| <title>execute_process — CMake 3.8.2 Documentation</title> |
| |
| |
| <link rel="stylesheet" href="../_static/cmake.css" type="text/css" /> |
| <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> |
| |
| <script type="text/javascript"> |
| var DOCUMENTATION_OPTIONS = { |
| URL_ROOT: '../', |
| VERSION: '3.8.2', |
| COLLAPSE_INDEX: false, |
| FILE_SUFFIX: '.html', |
| HAS_SOURCE: true, |
| SOURCELINK_SUFFIX: '.txt' |
| }; |
| </script> |
| <script type="text/javascript" src="../_static/jquery.js"></script> |
| <script type="text/javascript" src="../_static/underscore.js"></script> |
| <script type="text/javascript" src="../_static/doctools.js"></script> |
| <link rel="shortcut icon" href="../_static/cmake-favicon.ico"/> |
| <link rel="index" title="Index" href="../genindex.html" /> |
| <link rel="search" title="Search" href="../search.html" /> |
| <link rel="next" title="export" href="export.html" /> |
| <link rel="prev" title="endwhile" href="endwhile.html" /> |
| </head> |
| <body role="document"> |
| <div class="related" role="navigation" aria-label="related navigation"> |
| <h3>Navigation</h3> |
| <ul> |
| <li class="right" style="margin-right: 10px"> |
| <a href="../genindex.html" title="General Index" |
| accesskey="I">index</a></li> |
| <li class="right" > |
| <a href="export.html" title="export" |
| accesskey="N">next</a> |</li> |
| <li class="right" > |
| <a href="endwhile.html" title="endwhile" |
| accesskey="P">previous</a> |</li> |
| <li> |
| <img src="../_static/cmake-logo-16.png" alt="" |
| style="vertical-align: middle; margin-top: -2px" /> |
| </li> |
| <li> |
| <a href="https://cmake.org/">CMake</a> » |
| </li> |
| <li> |
| <a href="../index.html">3.8.2 Documentation</a> » |
| </li> |
| |
| <li class="nav-item nav-item-1"><a href="../manual/cmake-commands.7.html" accesskey="U">cmake-commands(7)</a> »</li> |
| </ul> |
| </div> |
| |
| <div class="document"> |
| <div class="documentwrapper"> |
| <div class="bodywrapper"> |
| <div class="body" role="main"> |
| |
| <div class="section" id="execute-process"> |
| <span id="command:execute_process"></span><h1>execute_process<a class="headerlink" href="#execute-process" title="Permalink to this headline">ΒΆ</a></h1> |
| <p>Execute one or more child processes.</p> |
| <div class="highlight-cmake"><div class="highlight"><pre><span></span><span class="nb">execute_process</span><span class="p">(</span><span class="s">COMMAND</span> <span class="s"><cmd1></span> <span class="s">[args1...]]</span> |
| <span class="s">[COMMAND</span> <span class="s"><cmd2></span> <span class="s">[args2...]</span> <span class="s">[...]]</span> |
| <span class="s">[WORKING_DIRECTORY</span> <span class="s"><directory>]</span> |
| <span class="s">[TIMEOUT</span> <span class="s"><seconds>]</span> |
| <span class="s">[RESULT_VARIABLE</span> <span class="s"><variable>]</span> |
| <span class="s">[OUTPUT_VARIABLE</span> <span class="s"><variable>]</span> |
| <span class="s">[ERROR_VARIABLE</span> <span class="s"><variable>]</span> |
| <span class="s">[INPUT_FILE</span> <span class="s"><file>]</span> |
| <span class="s">[OUTPUT_FILE</span> <span class="s"><file>]</span> |
| <span class="s">[ERROR_FILE</span> <span class="s"><file>]</span> |
| <span class="s">[OUTPUT_QUIET]</span> |
| <span class="s">[ERROR_QUIET]</span> |
| <span class="s">[OUTPUT_STRIP_TRAILING_WHITESPACE]</span> |
| <span class="s">[ERROR_STRIP_TRAILING_WHITESPACE]</span> |
| <span class="s">[ENCODING</span> <span class="s"><name>]</span><span class="p">)</span> |
| </pre></div> |
| </div> |
| <p>Runs the given sequence of one or more commands in parallel with the standard |
| output of each process piped to the standard input of the next. |
| A single standard error pipe is used for all processes.</p> |
| <p>Options:</p> |
| <dl class="docutils"> |
| <dt><code class="docutils literal"><span class="pre">COMMAND</span></code></dt> |
| <dd><p class="first">A child process command line.</p> |
| <p>CMake executes the child process using operating system APIs directly. |
| All arguments are passed VERBATIM to the child process. |
| No intermediate shell is used, so shell operators such as <code class="docutils literal"><span class="pre">></span></code> |
| are treated as normal arguments. |
| (Use the <code class="docutils literal"><span class="pre">INPUT_*</span></code>, <code class="docutils literal"><span class="pre">OUTPUT_*</span></code>, and <code class="docutils literal"><span class="pre">ERROR_*</span></code> options to |
| redirect stdin, stdout, and stderr.)</p> |
| <p class="last">If a sequential execution of multiple commands is required, use multiple |
| <span class="target" id="index-0-command:execute_process"></span><a class="reference internal" href="#command:execute_process" title="execute_process"><code class="xref cmake cmake-command docutils literal"><span class="pre">execute_process()</span></code></a> calls with a single <code class="docutils literal"><span class="pre">COMMAND</span></code> argument.</p> |
| </dd> |
| <dt><code class="docutils literal"><span class="pre">WORKING_DIRECTORY</span></code></dt> |
| <dd>The named directory will be set as the current working directory of |
| the child processes.</dd> |
| <dt><code class="docutils literal"><span class="pre">TIMEOUT</span></code></dt> |
| <dd>The child processes will be terminated if they do not finish in the |
| specified number of seconds (fractions are allowed).</dd> |
| <dt><code class="docutils literal"><span class="pre">RESULT_VARIABLE</span></code></dt> |
| <dd>The variable will be set to contain the result of running the processes. |
| This will be an integer return code from the last child or a string |
| describing an error condition.</dd> |
| <dt><code class="docutils literal"><span class="pre">OUTPUT_VARIABLE</span></code>, <code class="docutils literal"><span class="pre">ERROR_VARIABLE</span></code></dt> |
| <dd>The variable named will be set with the contents of the standard output |
| and standard error pipes, respectively. If the same variable is named |
| for both pipes their output will be merged in the order produced.</dd> |
| <dt><code class="docutils literal"><span class="pre">INPUT_FILE,</span> <span class="pre">OUTPUT_FILE</span></code>, <code class="docutils literal"><span class="pre">ERROR_FILE</span></code></dt> |
| <dd>The file named will be attached to the standard input of the first |
| process, standard output of the last process, or standard error of |
| all processes, respectively. If the same file is named for both |
| output and error then it will be used for both.</dd> |
| <dt><code class="docutils literal"><span class="pre">OUTPUT_QUIET</span></code>, <code class="docutils literal"><span class="pre">ERROR_QUIET</span></code></dt> |
| <dd>The standard output or standard error results will be quietly ignored.</dd> |
| <dt><code class="docutils literal"><span class="pre">ENCODING</span> <span class="pre"><name></span></code></dt> |
| <dd><p class="first">On Windows, the encoding that is used to decode output from the process. |
| Ignored on other platforms. |
| Valid encoding names are:</p> |
| <dl class="last docutils"> |
| <dt><code class="docutils literal"><span class="pre">NONE</span></code></dt> |
| <dd>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.</dd> |
| <dt><code class="docutils literal"><span class="pre">AUTO</span></code></dt> |
| <dd>Use the current active console’s codepage or if that isn’t |
| available then use ANSI.</dd> |
| <dt><code class="docutils literal"><span class="pre">ANSI</span></code></dt> |
| <dd>Use the ANSI codepage.</dd> |
| <dt><code class="docutils literal"><span class="pre">OEM</span></code></dt> |
| <dd>Use the original equipment manufacturer (OEM) code page.</dd> |
| <dt><code class="docutils literal"><span class="pre">UTF8</span></code></dt> |
| <dd>Use the UTF-8 codepage.</dd> |
| </dl> |
| </dd> |
| </dl> |
| <p>If more than one <code class="docutils literal"><span class="pre">OUTPUT_*</span></code> or <code class="docutils literal"><span class="pre">ERROR_*</span></code> option is given for the |
| same pipe the precedence is not specified. |
| If no <code class="docutils literal"><span class="pre">OUTPUT_*</span></code> or <code class="docutils literal"><span class="pre">ERROR_*</span></code> options are given the output will |
| be shared with the corresponding pipes of the CMake process itself.</p> |
| <p>The <span class="target" id="index-1-command:execute_process"></span><a class="reference internal" href="#command:execute_process" title="execute_process"><code class="xref cmake cmake-command docutils literal"><span class="pre">execute_process()</span></code></a> command is a newer more powerful version of |
| <span class="target" id="index-0-command:exec_program"></span><a class="reference internal" href="exec_program.html#command:exec_program" title="exec_program"><code class="xref cmake cmake-command docutils literal"><span class="pre">exec_program()</span></code></a>, but the old command has been kept for compatibility. |
| Both commands run while CMake is processing the project prior to build |
| system generation. Use <span class="target" id="index-0-command:add_custom_target"></span><a class="reference internal" href="add_custom_target.html#command:add_custom_target" title="add_custom_target"><code class="xref cmake cmake-command docutils literal"><span class="pre">add_custom_target()</span></code></a> and |
| <span class="target" id="index-0-command:add_custom_command"></span><a class="reference internal" href="add_custom_command.html#command:add_custom_command" title="add_custom_command"><code class="xref cmake cmake-command docutils literal"><span class="pre">add_custom_command()</span></code></a> to create custom commands that run at |
| build time.</p> |
| </div> |
| |
| |
| </div> |
| </div> |
| </div> |
| <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> |
| <div class="sphinxsidebarwrapper"> |
| <h4>Previous topic</h4> |
| <p class="topless"><a href="endwhile.html" |
| title="previous chapter">endwhile</a></p> |
| <h4>Next topic</h4> |
| <p class="topless"><a href="export.html" |
| title="next chapter">export</a></p> |
| <div role="note" aria-label="source link"> |
| <h3>This Page</h3> |
| <ul class="this-page-menu"> |
| <li><a href="../_sources/command/execute_process.rst.txt" |
| rel="nofollow">Show Source</a></li> |
| </ul> |
| </div> |
| <div id="searchbox" style="display: none" role="search"> |
| <h3>Quick search</h3> |
| <form class="search" action="../search.html" method="get"> |
| <div><input type="text" name="q" /></div> |
| <div><input type="submit" value="Go" /></div> |
| <input type="hidden" name="check_keywords" value="yes" /> |
| <input type="hidden" name="area" value="default" /> |
| </form> |
| </div> |
| <script type="text/javascript">$('#searchbox').show(0);</script> |
| </div> |
| </div> |
| <div class="clearer"></div> |
| </div> |
| <div class="related" role="navigation" aria-label="related navigation"> |
| <h3>Navigation</h3> |
| <ul> |
| <li class="right" style="margin-right: 10px"> |
| <a href="../genindex.html" title="General Index" |
| >index</a></li> |
| <li class="right" > |
| <a href="export.html" title="export" |
| >next</a> |</li> |
| <li class="right" > |
| <a href="endwhile.html" title="endwhile" |
| >previous</a> |</li> |
| <li> |
| <img src="../_static/cmake-logo-16.png" alt="" |
| style="vertical-align: middle; margin-top: -2px" /> |
| </li> |
| <li> |
| <a href="https://cmake.org/">CMake</a> » |
| </li> |
| <li> |
| <a href="../index.html">3.8.2 Documentation</a> » |
| </li> |
| |
| <li class="nav-item nav-item-1"><a href="../manual/cmake-commands.7.html" >cmake-commands(7)</a> »</li> |
| </ul> |
| </div> |
| <div class="footer" role="contentinfo"> |
| © Copyright 2000-2017 Kitware, Inc. and Contributors. |
| Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.2. |
| </div> |
| </body> |
| </html> |