From eb08e1febba1cdc71bea2aee6431b5ed8f711af2 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 18 Apr 2017 14:45:49 -0400 Subject: Help: Document CMAKE_MATCH_ variables --- Help/command/if.rst | 1 + Help/command/string.rst | 2 +- Help/manual/cmake-variables.7.rst | 1 + Help/variable/CMAKE_MATCH_COUNT.rst | 7 ++++--- Help/variable/CMAKE_MATCH_n.rst | 10 ++++++++++ 5 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 Help/variable/CMAKE_MATCH_n.rst diff --git a/Help/command/if.rst b/Help/command/if.rst index f0a9588..edd343d 100644 --- a/Help/command/if.rst +++ b/Help/command/if.rst @@ -104,6 +104,7 @@ Possible expressions are: ``if( MATCHES regex)`` True if the given string or variable's value matches the given regular expression. See :ref:`Regex Specification` for regex format. + ``()`` groups are captured in :variable:`CMAKE_MATCH_` variables. ``if( LESS )`` True if the given string or variable's value is a valid number and less diff --git a/Help/command/string.rst b/Help/command/string.rst index fe38c99..4f0c45c 100644 --- a/Help/command/string.rst +++ b/Help/command/string.rst @@ -113,7 +113,7 @@ The following characters have special meaning in regular expressions: in the ``REGEX REPLACE`` operation. Additionally it is saved by all regular expression-related commands, including e.g. :command:`if(MATCHES)`, in the variables - ``CMAKE_MATCH_`` for ```` 0..9. + :variable:`CMAKE_MATCH_` for ```` 0..9. ``*``, ``+`` and ``?`` have higher precedence than concatenation. ``|`` has lower precedence than concatenation. This means that the regular diff --git a/Help/manual/cmake-variables.7.rst b/Help/manual/cmake-variables.7.rst index 7347bcc..4317f67 100644 --- a/Help/manual/cmake-variables.7.rst +++ b/Help/manual/cmake-variables.7.rst @@ -56,6 +56,7 @@ Variables that Provide Information /variable/CMAKE_MAJOR_VERSION /variable/CMAKE_MAKE_PROGRAM /variable/CMAKE_MATCH_COUNT + /variable/CMAKE_MATCH_n /variable/CMAKE_MINIMUM_REQUIRED_VERSION /variable/CMAKE_MINOR_VERSION /variable/CMAKE_PARENT_LIST_FILE diff --git a/Help/variable/CMAKE_MATCH_COUNT.rst b/Help/variable/CMAKE_MATCH_COUNT.rst index 8b1c036..355e834 100644 --- a/Help/variable/CMAKE_MATCH_COUNT.rst +++ b/Help/variable/CMAKE_MATCH_COUNT.rst @@ -3,6 +3,7 @@ CMAKE_MATCH_COUNT The number of matches with the last regular expression. -When a regular expression match is used, CMake fills in ``CMAKE_MATCH_`` -variables with the match contents. The ``CMAKE_MATCH_COUNT`` variable holds -the number of match expressions when these are filled. +When a regular expression match is used, CMake fills in +:variable:`CMAKE_MATCH_` variables with the match contents. +The ``CMAKE_MATCH_COUNT`` variable holds the number of match +expressions when these are filled. diff --git a/Help/variable/CMAKE_MATCH_n.rst b/Help/variable/CMAKE_MATCH_n.rst new file mode 100644 index 0000000..c7dd623 --- /dev/null +++ b/Help/variable/CMAKE_MATCH_n.rst @@ -0,0 +1,10 @@ +CMAKE_MATCH_ +--------------- + +Capture group ```` matched by the last regular expression, for groups +0 through 9. Group 0 is the entire match. Groups 1 through 9 are the +subexpressions captured by ``()`` syntax. + +When a regular expression match is used, CMake fills in ``CMAKE_MATCH_`` +variables with the match contents. The :variable:`CMAKE_MATCH_COUNT` +variable holds the number of match expressions when these are filled. -- cgit v0.12