| 12345678910111213141516171819202122232425262728293031 |
- 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.
|