Help: Clarify 'make-style' variable references in cmake-language(7)

Fixes: #16661
This commit is contained in:
Michael Maltese
2017-02-22 12:32:13 -08:00
parent 6cbad490c2
commit 1dc1301925

View File

@@ -329,11 +329,17 @@ For example:
To support legacy CMake code, unquoted arguments may also contain To support legacy CMake code, unquoted arguments may also contain
double-quoted strings (``"..."``, possibly enclosing horizontal double-quoted strings (``"..."``, possibly enclosing horizontal
whitespace), and make-style variable references (``$(MAKEVAR)``). whitespace), and make-style variable references (``$(MAKEVAR)``).
Unescaped double-quotes must balance, may not appear at the Unescaped double-quotes must balance, may not appear at the
beginning of an unquoted argument, and are treated as part of the beginning of an unquoted argument, and are treated as part of the
content. For example, the unquoted arguments ``-Da="b c"``, content. For example, the unquoted arguments ``-Da="b c"``,
``-Da=$(v)``, and ``a" "b"c"d`` are each interpreted literally. ``-Da=$(v)``, and ``a" "b"c"d`` are each interpreted literally.
Make-style references are treated literally as part of the content
and do not undergo variable expansion. They are treated as part
of a single argument (rather than as separate ``$``, ``(``,
``MAKEVAR``, and ``)`` arguments).
The above "unquoted_legacy" production represents such arguments. The above "unquoted_legacy" production represents such arguments.
We do not recommend using legacy unquoted arguments in new code. We do not recommend using legacy unquoted arguments in new code.
Instead use a `Quoted Argument`_ or a `Bracket Argument`_ to Instead use a `Quoted Argument`_ or a `Bracket Argument`_ to