summaryrefslogtreecommitdiffstats
path: root/Help/command/while.rst
diff options
context:
space:
mode:
authorJoachim Wuttke (l) <j.wuttke@fz-juelich.de>2018-10-16 19:50:48 (GMT)
committerJoachim Wuttke (o) <j.wuttke@fz-juelich.de>2018-10-23 13:12:10 (GMT)
commitc2efb3efcd083523a73a2a9721b7101fbfc0fe0f (patch)
tree51feae595367cd8b91ab27c34000129c9a8c38b6 /Help/command/while.rst
parent7053dd301c694bbc5e13b7e32febd34596b22d4e (diff)
downloadCMake-c2efb3efcd083523a73a2a9721b7101fbfc0fe0f.zip
CMake-c2efb3efcd083523a73a2a9721b7101fbfc0fe0f.tar.gz
CMake-c2efb3efcd083523a73a2a9721b7101fbfc0fe0f.tar.bz2
Help: Revise docs on Scripting Commands
Revise docs for all "Scripting Commands", except four find_XXX that use a macro suite of their own. * Take full advantage of the improved syntax highlighting. * Make consequential use of <..> placeholders. * Clarify things here and there in the text. Specific improvements to some command docs: * "math": Correct description of novel hexadecimal capability. * "if", "foreach", "while": Provide link to "endif" etc * "foreach", "while": Mention "break" and "continue". * "foreach": Simplify explanation of ``RANGE`` and ``IN`` signatures; advise against negative arguments or reverse ranges (compare issue #18461) * "endif", "endfunction" etc: Explain that the argument is optional and maintained for compatibility only
Diffstat (limited to 'Help/command/while.rst')
-rw-r--r--Help/command/while.rst24
1 files changed, 16 insertions, 8 deletions
diff --git a/Help/command/while.rst b/Help/command/while.rst
index 7509da3..a4957c1 100644
--- a/Help/command/while.rst
+++ b/Help/command/while.rst
@@ -3,15 +3,23 @@ while
Evaluate a group of commands while a condition is true
-::
+.. code-block:: cmake
- while(condition)
- COMMAND1(ARGS ...)
- COMMAND2(ARGS ...)
- ...
- endwhile(condition)
+ while(<condition>)
+ <commands>
+ endwhile()
All commands between while and the matching :command:`endwhile` are recorded
without being invoked. Once the :command:`endwhile` is evaluated, the
-recorded list of commands is invoked as long as the condition is true. The
-condition is evaluated using the same logic as the :command:`if` command.
+recorded list of commands is invoked as long as the ``<condition>`` is true.
+
+The ``<condition>`` has the same syntax and is evaluated using the same logic
+as described at length for the :command:`if` command.
+
+The commands :command:`break` and :command:`continue` provide means to
+escape from the normal control flow.
+
+Per legacy, the :command:`endwhile` command admits
+an optional ``<condition>`` argument.
+If used, it must be a verbatim repeat of the argument of the opening
+``while`` command.