summaryrefslogtreecommitdiff
path: root/Help/command/block.rst
diff options
context:
space:
mode:
Diffstat (limited to 'Help/command/block.rst')
-rw-r--r--Help/command/block.rst31
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