Explain that the commands affect only the current CMake process,
not the process from which CMake was called,
nor the system environment at large,
nor the environment of subsequent build or test processes.
4f5d6568fb Help: Date deprecation of deprecated commands.
ab75f16e0d Help: Use 'deprecated' template, and date deprecation of modules
99ee1aaac3 Help: Add version number to deprecation note
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2523
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
* The code snippets in the docs consist of CMake code mixed
with syntax definition punctuation like < > [ ] ... Therefore
a pure CMake lexer is inadequate. Here it is replaced by a
CMake syntax definition parser.
* Fixed syntax definition snippets in FindPkgConfig.cmake to
make best use of syntax highlighting. This source file is the
hardest to support because it contains comparison operators
<= = >=, which need special attention to avoid confusion
with the placeholder indicators <...>.
* Fixed syntax in execute_process.rst (there were unbalanced
brackets).
* Disabled syntax highlighting for long string examples in
cmake-language.7.rst.
* No highlighting of removed syntax in CMP0049
* To inspect the outcome of this patch, see e.g. the pages
* manual/cmake-buildsystem.7.html
* module/ExternalProject.html
* module/FindPkgConfig.html
which are particularly rich in complex code snippets.
Items that have full paths will be quoted automatically. Other
items are treated as command-line string fragments and get no
automatic escaping. Document the behavior for each item kind.
Fixes: #18467
Revert commit v3.13.0-rc1~441^2 (install: Teach CODE,SCRIPT modes to
evaluate generator expressions, 2018-05-29). Unfortunately it has
been found to break existing code in a real project, e.g.
install(CODE [[
message("$<FOOBAR>")
]])
Address this regression by reverting support for the 3.13 release
series. Support can be restored later with a policy for compatibility.
Issue: #15785Fixes: #18435
20a5e46958 Help: move description of CMAKE_PROJECT_* variables
3ccfc8436b Help: Describe options of command project in a definition list.
9bd9cf5e74 Help: make the two signatures of command "project" orthogonal
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2450
Teach CTest to submit Done.xml. Submission of this file indicates to
CDash that a build is complete and no more files will be uploaded. It
contains the build id returned by CDash and the current time.
This file is submitted last for a given build when using the
`ctest_submit()` command.
If submitting by PARTS, use `ctest_submit(PARTS Done)`.
Also replace 'expression' by 'condition' (as in the while command);
relegate optional arguments of else() and endif() to the text;
revise explanation of operator precedence in Condition Syntax section.
Documentation added by commit c802ea0632 (Help: Document how escape
sequences work in a regex, 2018-07-18) is only correct for backslashes
inside `[]` groups. The regex engine does interpret `\` escapes
elsewhere. Fix the docs.
Inspired-by: R2RT <artur.ryt@gmail.com>
Fixes: #18428
3123dd6382 project(): Ensure DESCRIPTION and HOMEPAGE_URL variables are set
7e44bfd2c3 project(): Add tests verifying variables set by second project() call
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2457
The `optimized` and `debug` keyword items are meaningful only to
the `target_link_libraries` command and have no meaning when
produced by a generator expression. State this explicitly.
Also recommend use of a quoted argument when the genex itself
may contain a semicolon.
Fixes: #18424
If a project() call does not have DESCRIPTION or HOMEPAGE_URL
options, it must still set the relevant variables or else those variables will
inherit values from an earlier project() call. That is inconsistent with how
VERSION is handled and is likely to be unexpected. The docs were also
ambiguous about what should happen in such cases.