Commit Graph

2955 Commits

Author SHA1 Message Date
Wouter Klouwen
7ddc9e353b ExternalProject: option LOG_MERGED_STDOUTERR to combine stdout and stderr
In some circumstances the user of ExternalProject may not desire the
split log files for stdout and stderr. In particular with a project has
many errors it can be difficult to correlate the output error with the
command that it resulted from.

This commit adds the LOG_MERGED_STDOUTERR option that when enabled
outputs into a unified <name>-<step>.log for each step. If disabled it
will default to the previous behaviour of <name>-<step>-out.log and
<name>-<step>-err.log.
2018-10-19 15:32:51 +01:00
Brad King
d120ccd193 Merge topic 'find_fontconfig'
84e7920b3a FindFontconfig: Add module to find Fontconfig

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2487
2018-10-19 09:59:27 -04:00
Brad King
b142956829 Merge topic 'doc-target_link_libraries-item-quoting'
18cff26e3a Help: Clarify command-line encoding of target_link_libraries items

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2503
2018-10-19 09:47:53 -04: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
Frederik Gladhorn
84e7920b3a FindFontconfig: Add module to find Fontconfig
This module is inspired by one from KDE's KWin.
2018-10-18 20:32:09 +02:00
Brad King
18cff26e3a Help: Clarify command-line encoding of target_link_libraries items
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
2018-10-18 13:31:24 -04: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