summaryrefslogtreecommitdiffstats
path: root/Help/command/function.rst
diff options
context:
space:
mode:
authorKitware Robot <kwrobot@kitware.com>2013-10-15 15:17:36 (GMT)
committerBrad King <brad.king@kitware.com>2013-10-15 18:12:03 (GMT)
commitf051814ed0e63badbfd68049354f36259dbf4b49 (patch)
treef4e6f885f86c882d723a7dd53d2b702d0c7fdffb /Help/command/function.rst
parente94958e99c4dec26c86ce8b76d744c04ba960675 (diff)
downloadCMake-f051814ed0e63badbfd68049354f36259dbf4b49.zip
CMake-f051814ed0e63badbfd68049354f36259dbf4b49.tar.gz
CMake-f051814ed0e63badbfd68049354f36259dbf4b49.tar.bz2
Convert builtin help to reStructuredText source files
Run the convert-help.bash script to convert documentation: ./convert-help.bash "/path/to/CMake-build/bin" Then remove it.
Diffstat (limited to 'Help/command/function.rst')
-rw-r--r--Help/command/function.rst31
1 files changed, 31 insertions, 0 deletions
diff --git a/Help/command/function.rst b/Help/command/function.rst
new file mode 100644
index 0000000..b18e03c
--- /dev/null
+++ b/Help/command/function.rst
@@ -0,0 +1,31 @@
+function
+--------
+
+Start recording a function for later invocation as a command.
+
+::
+
+ function(<name> [arg1 [arg2 [arg3 ...]]])
+ COMMAND1(ARGS ...)
+ COMMAND2(ARGS ...)
+ ...
+ endfunction(<name>)
+
+Define a function named <name> that takes arguments named arg1 arg2
+arg3 (...). Commands listed after function, but before the matching
+endfunction, are not invoked until the function is invoked. When it
+is invoked, the commands recorded in the function are first modified
+by replacing formal parameters (${arg1}) with the arguments passed,
+and then invoked as normal commands. In addition to referencing the
+formal parameters you can reference the variable ARGC which will be
+set to the number of arguments passed into the function as well as
+ARGV0 ARGV1 ARGV2 ... which will have the actual values of the
+arguments passed in. This facilitates creating functions with
+optional arguments. Additionally ARGV holds the list of all arguments
+given to the function and ARGN holds the list of arguments past the
+last expected argument.
+
+A function opens a new scope: see set(var PARENT_SCOPE) for details.
+
+See the cmake_policy() command documentation for the behavior of
+policies inside functions.