| 
					
				 | 
			
			
				@@ -32,6 +32,11 @@ Commands are executed concurrently as a pipeline, 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. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``execute_process`` runs commands while CMake is configuring the project, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+prior to build system generation.  Use the :command:`add_custom_target` and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+:command:`add_custom_command` commands to create custom commands that run 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+at build time. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Options: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ``COMMAND`` 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -51,8 +56,8 @@ Options: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  (Use the ``INPUT_*``, ``OUTPUT_*``, and ``ERROR_*`` options to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  redirect stdin, stdout, and stderr.) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- If a sequential execution of multiple commands is required, use multiple 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- ``execute_process`` calls with a single ``COMMAND`` argument. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ For **sequential execution** of multiple commands use multiple 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ ``execute_process`` calls each with a single ``COMMAND`` argument. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ``WORKING_DIRECTORY`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  The named directory will be set as the current working directory of 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -76,22 +81,46 @@ Options: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  given ``COMMAND`` arguments.  Each entry will be an integer return code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  from the corresponding child or a string describing an error condition. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``INPUT_FILE <file>`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ ``<file>`` is attached to the standard input pipe of the *first* ``COMMAND`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ process. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``OUTPUT_FILE <file>`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ ``<file>`` is attached to the standard output pipe of the *last* ``COMMAND`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ process. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``ERROR_FILE <file>`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ ``<file>`` is attached to the standard error pipe of *all* ``COMMAND`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ processes. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.. versionadded:: 3.3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  If the same ``<file>`` is named for both ``OUTPUT_FILE`` and ``ERROR_FILE`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  then it will be used for both standard output and standard error pipes. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``OUTPUT_QUIET``, ``ERROR_QUIET`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ The standard output on ``OUTPUT_VARIABLE`` or standard error on 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ ``ERROR_VARIABLE`` are not connected (no variable content). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ The  ``*_FILE`` and ``ECHO_*_VARIABLE`` options are not affected. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ``OUTPUT_VARIABLE``, ``ERROR_VARIABLE`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  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. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-``INPUT_FILE, OUTPUT_FILE``, ``ERROR_FILE`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 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. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+``ECHO_OUTPUT_VARIABLE``, ``ECHO_ERROR_VARIABLE`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .. versionadded:: 3.18 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  The standard output or standard error will not be exclusively redirected to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  the specified variables. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- .. versionadded:: 3.3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  If the same file is named for both output and error then it will be used 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  for both. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  The output will be duplicated into the specified variables and also onto 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  standard output or standard error analogous to the ``tee`` Unix command. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-``OUTPUT_QUIET``, ``ERROR_QUIET`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- The standard output or standard error results will be quietly ignored. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.. note:: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  If more than one ``OUTPUT_*`` or ``ERROR_*`` option is given for the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  same pipe the precedence is *not specified*. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  If no ``OUTPUT_*`` or ``ERROR_*`` options are given the output will 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  be shared with the corresponding pipes of the CMake process itself. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ``COMMAND_ECHO <where>`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  .. versionadded:: 3.15 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -126,17 +155,6 @@ Options: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      Accept ``UTF-8`` spelling for consistency with the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      `UTF-8 RFC <https://www.ietf.org/rfc/rfc3629>`_ naming convention. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-``ECHO_OUTPUT_VARIABLE``, ``ECHO_ERROR_VARIABLE`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  .. versionadded:: 3.18 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  The standard output or standard error will not be exclusively redirected to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  the configured variables. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  The output will be duplicated, it will be sent into the configured variables 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  and also on standard output or standard error. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  This is analogous to the ``tee`` Unix command. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ``COMMAND_ERROR_IS_FATAL <ANY|LAST>`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   .. versionadded:: 3.19 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -151,15 +169,3 @@ Options: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     If the last command in the list of commands fails, the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ``execute_process()`` command halts with an error.  Commands earlier in the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     list will not cause a fatal error. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-If more than one ``OUTPUT_*`` or ``ERROR_*`` option is given for the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-same pipe the precedence is not specified. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-If no ``OUTPUT_*`` or ``ERROR_*`` options are given the output will 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-be shared with the corresponding pipes of the CMake process itself. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-The :command:`execute_process` command is a newer more powerful version of 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-:command:`exec_program`, but the old command has been kept for compatibility. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Both commands run while CMake is processing the project prior to build 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-system generation.  Use :command:`add_custom_target` and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-:command:`add_custom_command` to create custom commands that run at 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-build time. 
			 |