Server IP : 51.89.169.208 / Your IP : 216.73.216.52 Web Server : Apache System : Linux ns3209505.ip-198-244-202.eu 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Tue Nov 5 04:50:16 EST 2024 x86_64 User : yellowleaf ( 1019) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/cmake/Help/command/ |
Upload File : |
block ----- .. versionadded:: 3.25 Evaluate a group of commands with a dedicated variable and/or policy scope. .. code-block:: cmake 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, then the scopes created by the ``block()`` command are removed. ``SCOPE_FOR`` Specify which scopes must be created. ``POLICIES`` Create a new policy scope. This is equivalent to :command:`cmake_policy(PUSH)`. ``VARIABLES`` Create a new variable scope. If ``SCOPE_FOR`` is not specified, this is equivalent to: .. code-block:: cmake block(SCOPE_FOR VARIABLES POLICIES) ``PROPAGATE`` 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") block(PROPAGATE var1 var2) set(var1 "VALUE1") unset(var2) endblock() # 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 inside a :command:`foreach` or :command:`while` command, the :command:`break` and :command:`continue` commands can be used inside the block. .. code-block:: cmake while(TRUE) block() ... # the break() command will terminate the while() command break() endblock() endwhile() See Also ^^^^^^^^ * :command:`endblock` * :command:`return` * :command:`cmake_policy`