diff options
Diffstat (limited to 'Help/command/block.rst')
-rw-r--r-- | Help/command/block.rst | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/Help/command/block.rst b/Help/command/block.rst index 9d37deb4dc..dfd60d446d 100644 --- a/Help/command/block.rst +++ b/Help/command/block.rst @@ -7,14 +7,14 @@ Evaluate a group of commands with a dedicated variable and/or policy scope. .. code-block:: cmake - block([SCOPE_FOR (POLICIES|VARIABLES)] [PROPAGATE <var-name>...]) + block([SCOPE_FOR [POLICIES] [VARIABLES] ] [PROPAGATE <var-name>...]) <commands> endblock() All commands between ``block()`` and the matching :command:`endblock` are recorded without being invoked. Once the :command:`endblock` is evaluated, the -recorded list of commands is invoked inside the requested scopes, and, finally, -the scopes created by ``block()`` command are removed. +recorded list of commands is invoked inside the requested scopes, then the +scopes created by the ``block()`` command are removed. ``SCOPE_FOR`` Specify which scopes must be created. @@ -33,28 +33,29 @@ the scopes created by ``block()`` command are removed. block(SCOPE_FOR VARIABLES POLICIES) ``PROPAGATE`` - When a variable scope is created by :command:`block` command, this option - set or unset the specified variables in the parent scope. This is equivalent - to :command:`set(PARENT_SCOPE)` or :command:`unset(PARENT_SCOPE)` commands. + When a variable scope is created by the :command:`block` command, this + option sets or unsets the specified variables in the parent scope. This is + equivalent to :command:`set(PARENT_SCOPE)` or :command:`unset(PARENT_SCOPE)` + commands. .. code-block:: cmake - set(VAR1 "INIT1") - set(VAR2 "INIT2") + set(var1 "INIT1") + set(var2 "INIT2") - block(PROPAGATE VAR1 VAR2) - set(VAR1 "VALUE1") - unset(VAR2) + block(PROPAGATE var1 var2) + set(var1 "VALUE1") + unset(var2) endblock() - # here, VAR1 holds value VALUE1 and VAR2 is unset + # Now var1 holds VALUE1, and var2 is unset This option is only allowed when a variable scope is created. An error will be raised in the other cases. -When the ``block`` is local to a :command:`foreach` or :command:`while` -command, the commands :command:`break` and :command:`continue` can be used -inside this block. +When the ``block()`` is inside a :command:`foreach` or :command:`while` +command, the :command:`break` and :command:`continue` commands can be used +inside the block. .. code-block:: cmake |