diff options
author | Brad King <brad.king@kitware.com> | 2014-05-08 17:25:06 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2014-05-08 17:25:06 (GMT) |
commit | d91c0f7a3f406dcf5c803e86ad6ac2e75ec0b85f (patch) | |
tree | 526a681f3385ffc883d6fba12317ae4b9f3b690c /Help/manual/cmake-language.7.rst | |
parent | df6ff642d0f9ab40a18c04682f2f4b8b113e2060 (diff) | |
parent | 90f66381d3a8f5ba4fd5393e2ce9032d617f08bc (diff) | |
download | CMake-d91c0f7a3f406dcf5c803e86ad6ac2e75ec0b85f.zip CMake-d91c0f7a3f406dcf5c803e86ad6ac2e75ec0b85f.tar.gz CMake-d91c0f7a3f406dcf5c803e86ad6ac2e75ec0b85f.tar.bz2 |
Merge topic 'dev/faster-evis'
90f66381 Help: Add release notes for policy CMP0053
6804cd04 Help: Add documentation on escaping changes with CMP0053
411f77d1 EVIS: Add tests for syntax corner cases and CMP0053
bc385658 EVIS: Reimplement using custom parsing code
25102efc EVIS: Add policy CMP0053
e423f1c0 Windows: Avoid () in environment variable references
c179b289 Help: Add more reference targets to cmake-language.7
c3d98bd2 Utilities/Release: Use ${VAR} instead of @VAR@ syntax
Diffstat (limited to 'Help/manual/cmake-language.7.rst')
-rw-r--r-- | Help/manual/cmake-language.7.rst | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/Help/manual/cmake-language.7.rst b/Help/manual/cmake-language.7.rst index 1e4c6c5..b83dcad 100644 --- a/Help/manual/cmake-language.7.rst +++ b/Help/manual/cmake-language.7.rst @@ -287,6 +287,8 @@ For example: Instead use a `Quoted Argument`_ or a `Bracket Argument`_ to represent the content. +.. _`Escape Sequences`: + Escape Sequences ---------------- @@ -294,16 +296,20 @@ An *escape sequence* is a ``\`` followed by one character: .. productionlist:: escape_sequence: `escape_identity` | `escape_encoded` | `escape_semicolon` - escape_identity: '\(' | '\)' | '\#' | '\"' | '\ ' | - : '\\' | '\$' | '\@' | '\^' + escape_identity: '\' <match '[^A-Za-z0-9;]'> escape_encoded: '\t' | '\r' | '\n' escape_semicolon: '\;' -A ``\`` followed by one of ``()#" \#@^`` simply encodes the literal +A ``\`` followed by a non-alphanumeric character simply encodes the literal character without interpreting it as syntax. A ``\t``, ``\r``, or ``\n`` -encodes a tab, carriage return, or newline character, respectively. -A ``\;`` encodes itself but may be used in an `Unquoted Argument`_ -to encode the ``;`` without dividing the argument value on it. +encodes a tab, carriage return, or newline character, respectively. A ``\;`` +outside of any `Variable References`_ encodes itself but may be used in an +`Unquoted Argument`_ to encode the ``;`` without dividing the argument +value on it. A ``\;`` inside `Variable References`_ encodes the literal +``;`` character. (See also policy :policy:`CMP0053` documentation for +historical considerations.) + +.. _`Variable References`: Variable References ------------------- @@ -315,6 +321,11 @@ or by the empty string if the variable is not set. Variable references can nest and are evaluated from the inside out, e.g. ``${outer_${inner_variable}_variable}``. +Literal variable references may consist of alphanumeric characters, +the characters ``/_.+-``, and `Escape Sequences`_. Nested references +may be used to evaluate variables of any name. (See also policy +:policy:`CMP0053` documentation for historical considerations.) + The `Variables`_ section documents the scope of variable names and how their values are set. |