Commit Graph

2951 Commits

Author SHA1 Message Date
Joachim Wuttke (l)
c2efb3efcd 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
2018-10-23 15:12:10 +02:00
Craig Scott
7053dd301c Merge topic 'help-syntax-highlighting'
93f3f65516 Help: Revise docs of modules AddFileDependencies..CheckFunctionExists
fc7ee1ca45 Help: Override pygments CMakeLexer to support <..> and [..]
74b3eacdc7 Help: Use appropriate list types in FindPkgConfig

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2468
2018-10-19 06:31:55 -04:00
Joachim Wuttke (o)
fc7ee1ca45 Help: Override pygments CMakeLexer to support <..> and [..]
* 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.
2018-10-19 07:25:34 +11:00
Brad King
56c85d9429 Merge topic 'rel-doc-qthelp'
1d5c8b81db Utilities/Release: Add qthelp docs to binary archives

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2497
2018-10-18 07:38:15 -04:00
Brad King
5b47557c82 Merge topic 'revert-server-iface-sources'
284a38e42f cmake-server: Revert "Support codemodel filegroups for INTERFACE_SOURCES"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2495
2018-10-18 07:31:18 -04:00
Brad King
1d5c8b81db Utilities/Release: Add qthelp docs to binary archives
Fixes: #18465
2018-10-17 14:38:46 -04:00
Brad King
284a38e42f cmake-server: Revert "Support codemodel filegroups for INTERFACE_SOURCES"
Revert commit v3.13.0-rc1~144^2 (cmake-server: Support codemodel
filegroups for INTERFACE_SOURCES, 2018-08-10).  The changes activate
code paths not meant to be used with interface libraries.  Another
approach will be needed to expose this information later.

This revert has to be done by hand because the code in question has been
changed somewhat since the changes were made, and was also factored out
to another source file.

Fixes: #18463
2018-10-17 14:02:39 -04:00
Brad King
78681bf001 Merge topic 'better-empty-list-behavior'
121a036f73 cmListCommand: handle empty lists for list(REMOVE_AT)
acfe53c588 cmListCommand: make list(ACTION not_a_list) succeed when idempotent
bf572ac952 cmListCommand: check list(FILTER) operation before the list

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2478
2018-10-17 13:27:56 -04:00
Ben Boeckel
121a036f73 cmListCommand: handle empty lists for list(REMOVE_AT)
Treat an empty list as a list with no valid bounds and return an error
message indicating that any given indices are out-of-bounds.
2018-10-16 14:31:39 -04:00
Ben Boeckel
acfe53c588 cmListCommand: make list(ACTION not_a_list) succeed when idempotent
The operations changed here all are no-ops on empty lists anyways, so
just have them succeed when given non-extant lists.

  - `list(REMOVE_ITEM)`
  - `list(REMOVE_DUPLICATES)`
  - `list(SORT)`
  - `list(FILTER)`
  - `list(REVERSE)`
2018-10-16 14:31:39 -04:00
Brad King
e5e59a1bc6 Merge topic 'document-dollar-in-varnames'
82a4822610 CMP0053: document that `$` is a valid literal variable character

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2479
2018-10-16 11:04:09 -04:00
Ben Boeckel
82a4822610 CMP0053: document that $ is a valid literal variable character
This was overlooked in the initial implementation of CMP0053. However,
an additional policy to reject it again is not worth it. Instead, add
tests and document the behavior.

Fixes: #17883
2018-10-15 13:59:39 -04:00
Brad King
f225d79881 Merge topic 'update_debug_target_properties'
86921f0264 Help: document CMAKE_DEBUG_TARGET_PROPERTIES support for LINK properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2480
2018-10-15 13:03:51 -04:00
Robert Maynard
86921f0264 Help: document CMAKE_DEBUG_TARGET_PROPERTIES support for LINK properties 2018-10-12 09:53:22 -04:00
Brad King
7bacb22955 Merge topic 'cppcheck-exit-code'
3b80cd77fb Fail the build if cppcheck returns a non-zero exit code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2459
2018-10-12 08:17:58 -04:00
Brad King
1cfe2442c4 Merge topic 'find_libinput'
f76047f34a FindLibinput: Add module to find libinput

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2420
2018-10-12 08:15:25 -04:00
Frederik Gladhorn
f76047f34a FindLibinput: Add module to find libinput
This module is inspired by one from KDE's KWin.
2018-10-11 10:43:45 -04:00
Brad King
fd0e40f166 Merge branch 'backport-revert-install-code-script-genex' into revert-install-code-script-genex 2018-10-11 08:14:48 -04:00
Harald Brinkmann
3b80cd77fb Fail the build if cppcheck returns a non-zero exit code
This allows the build failure to be tuned with cppcheck's
options --error-exitcode=<n> and --exitcode-suppressions=<file>.
2018-10-11 07:56:05 -04:00
Brad King
7d2ee4cb98 Merge topic 'install-subdirectory-order'
b56f2db87a Testing: Add test for CMP0082
fc8955e889 add_subdirectory: Run subdirectory install rules in correct order
514f0b572e Testing: Update hard-coded line numbers to [0-9]+ in some tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2434
2018-10-11 07:37:59 -04:00
Brad King
2e1fe8fabe Merge topic 'ctest-done'
a6e0158712 ctest_submit: Add support for a "Done" part
f460bbd4c8 ctest_submit: Refactor file list to use a vector instead of a set

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Zack Galbreath <zack.galbreath@kitware.com>
Merge-request: !2405
2018-10-11 07:32:54 -04:00
Brad King
0f48fbaa72 install: Revert CODE,SCRIPT support for generator expressions
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: #15785
Fixes: #18435
2018-10-11 07:05:55 -04:00
Kyle Edwards
fc8955e889 add_subdirectory: Run subdirectory install rules in correct order
Before this change, install rules created by add_subdirectory()
would be executed after all of the top-level install rules, even
if they were declared before the top-level rules. This change
adds a new policy, CMP0082, which interleaves the add_subdirectory()
install rules with the other install rules so they are run in the
correct order.
2018-10-10 10:26:39 -04:00
Craig Scott
5dd16bc92c Merge topic 'module-index-restructure'
dc372f6eef Help: Document Use_wxWindows.cmake as deprecated
846e3d2ceb Help: Reorganise module index into sections
c9cedd675b Help: Add link to cmake-qt(7) to FindQt.cmake.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2463
2018-10-10 08:49:23 -04:00
Brad King
b62d15c216 Merge topic 'project-version'
2f43bd3b6c Help: move description of CMAKE_PROJECT_* variables
e3e5445d83 Help: Describe options of command project in a definition list.
5b56795d57 Help: make the two signatures of command "project" orthogonal

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2450
2018-10-10 07:05:03 -04:00
Betsy McPhail
a6e0158712 ctest_submit: Add support for a "Done" part
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)`.
2018-10-10 06:55:59 -04:00
Craig Scott
dc372f6eef Help: Document Use_wxWindows.cmake as deprecated
The implementation already logged a message saying that the module
was deprecated. This change adds that message to the module docs.
2018-10-09 17:13:52 +02:00
Joachim Wuttke (l)
846e3d2ceb Help: Reorganise module index into sections
* Split up module list into separate sections for utility modules
  and find modules.
* Improve wording to explain how the different module types
  are expected to be called/used.
* Move deprecated modules to their own separate sections.
2018-10-09 17:13:11 +02:00
Joachim Wuttke (o)
2f43bd3b6c Help: move description of CMAKE_PROJECT_* variables
Describe these variables along with the other variables.
2018-10-09 15:28:53 +02:00
Joachim Wuttke (l)
e3e5445d83 Help: Describe options of command project in a definition list.
Also add section headers;
explain default setting of optional argument variables.
2018-10-09 14:29:57 +02:00
Joachim Wuttke (l)
5b56795d57 Help: make the two signatures of command "project" orthogonal 2018-10-09 14:22:09 +02:00
Joachim Wuttke (l)
ba90611225 Help: Make synopsis of if command more compact; add section headers
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.
2018-10-09 14:04:24 +02:00
Brad King
efa5d5c781 Merge branch 'doc-regex-backslash' into release-3.13
Merge-request: !2460
2018-10-09 06:34:34 -04:00
Brad King
3ea9d81da6 Merge topic 'doc-regex-backslash'
fab2c2339b Help: Fix documentation of escape sequences in a regex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2460
2018-10-09 06:34:06 -04:00
Brad King
fab2c2339b Help: Fix documentation of escape sequences in a regex
Documentation added by commit 4b35dab891 (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
2018-10-09 06:31:37 -04:00
Brad King
db8920a2c5 Merge topic 'doc-target_link_libraries-keywords-not-genex'
cd8c79e163 Help: Clarify target_link_libraries keywords and generator expressions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2449
2018-10-09 06:25:13 -04:00
Brad King
c268fcc2ed Merge branch 'doc-target_link_libraries-keywords-not-genex' into release-3.13
Merge-request: !2449
2018-10-08 11:52:39 -04:00
Brad King
4422ee3cb2 Merge topic 'add_ctest_progress_docs'
2154ea38f9 Help: Add missing docs for the ctest --progress option
fb2cdf4d4c Help: Use :envvar: links for env vars affecting ctest command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Michael Wegner <michael.t.wegner@gmail.com>
Merge-request: !2454
2018-10-08 11:26:52 -04:00
Brad King
c3e27c2562 Merge topic 'project-always-set-desc-url'
f8a086a86b project(): Ensure DESCRIPTION and HOMEPAGE_URL variables are set
b27247c8df project(): Add tests verifying variables set by second project() call

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2457
2018-10-08 11:26:21 -04:00
Brad King
c76e024a3d Merge topic 'list-SORT-docs'
cdf8d79e9f Help: Improve/fix incorrect docs for list(SORT) sub-options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2453
2018-10-08 11:25:38 -04:00
Brad King
c2356d60d8 Merge branch 'project-always-set-desc-url' into release-3.13
Merge-request: !2457
2018-10-08 11:21:48 -04:00
Brad King
981cdceca2 Merge branch 'add_ctest_progress_docs' into release-3.13
Merge-request: !2454
2018-10-08 11:21:36 -04:00
Brad King
bad9bc78e3 Merge branch 'list-SORT-docs' into release-3.13
Merge-request: !2453
2018-10-08 11:21:23 -04:00
Brad King
cd8c79e163 Help: Clarify target_link_libraries keywords and generator expressions
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
2018-10-08 11:18:14 -04:00
Craig Scott
f8a086a86b project(): Ensure DESCRIPTION and HOMEPAGE_URL variables are set
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.
2018-10-08 08:28:17 +11:00
Craig Scott
2154ea38f9 Help: Add missing docs for the ctest --progress option
These docs were missing from the changes that introduced the feature in
!2240.
2018-10-07 17:03:36 +11:00
Craig Scott
fb2cdf4d4c Help: Use :envvar: links for env vars affecting ctest command 2018-10-07 17:03:36 +11:00
Craig Scott
cdf8d79e9f Help: Improve/fix incorrect docs for list(SORT) sub-options 2018-10-06 18:10:38 +10:00
Brad King
50f427e022 Merge topic 'doc-find_package-update'
c90f3dff82 Help: Clarify find_package Module and Config mode relation
26dac50220 Help: Remove redundant recommendation
11058a2e7c Help: Add internal section link to find_package command docs
aaf5ea2d70 Help: Add section headers to find_package command
56310b0671 Help: Move find_package NO_POLICY_SCOPE to more appropriate location
336dce1c95 Help: Add table of contents to find_package command docs
463d59d331 Help: Rephrase summary in find_package command docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2446
2018-10-05 07:55:57 -04:00
Brad King
3261e18f03 Merge branch 'doc-find_package-update' into release-3.13
Merge-request: !2446
2018-10-05 07:54:27 -04:00