Commit Graph

5889 Commits

Author SHA1 Message Date
Brad King
e3f2601a9d Merge topic 'variable-link-feature-supported'
1777883f8b genex-LINK_(LIBRARY|GROUP) features: update variables behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7113
2022-03-28 11:03:36 -04:00
Brad King
8cf6a64a42 Merge topic 'doc-cpack-ifw'
db774e9108 Help: Clean up and expand CPack/IFW docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7115
2022-03-28 10:52:31 -04:00
Craig Scott
db774e9108 Help: Clean up and expand CPack/IFW docs 2022-03-27 16:30:45 +11:00
Brad King
25b9fb0b1a Merge topic 'link-interface-direct'
cf312a2e54 LINK_LIBRARIES: Add support for LINK_ONLY genex
41a6b4a53b INTERFACE_LINK_LIBRARIES_DIRECT: Honor link dependencies through LINK_ONLY
73337cb383 LINK_LIBRARIES: Evaluate separately for linking and usage requirements

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7107
2022-03-25 09:12:39 -04:00
Brad King
96420a4afd Merge topic 'cmake-fresh'
9f1471739d cmake: Add --fresh option to clear the cache and start from scratch

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !7099
2022-03-25 09:09:56 -04:00
Marc Chevrier
1777883f8b genex-LINK_(LIBRARY|GROUP) features: update variables behavior
Variable CMAKE_LINK_(LIBRARY|GROUP)_USING_<FEATURE>_SUPPORTED is evaluated
only if CMAKE_<LANG>_LINK_(LIBRARY|GROUP)_USING_<FEATURE>_SUPPORTED is not defined.

This new behavior enable to activate a feature globally on a platform and to disable
it for some compilers and languages.
2022-03-25 12:29:28 +01:00
Brad King
cf312a2e54 LINK_LIBRARIES: Add support for LINK_ONLY genex
Previously we always used content guarded by `$<LINK_ONLY:...>`
in `LINK_LIBRARIES`, even when evaluating for non-linking usage
requirements.  Add a policy to honor `LINK_ONLY` in `LINK_LIBRARIES`
the same way we already do in `INTERFACE_LINK_LIBRARIES`.
2022-03-24 08:23:55 -04:00
Kasper Laudrup
0b7fd783f8 cmake -E tar: Add --touch option
Similar to GNU tar add a --touch option to the tar extract command to
skip extracting the timestamps from the files in the archive
effectively touching them as if they were just created.

Issue: #22746
2022-03-23 14:41:34 +01:00
Brad King
4ee256d8eb Merge topic 'better_cross-ref_CMAKE_FIND_NO_INSTALL_PREFIX'
7dc654a017 Help: Better cross-reference CMAKE_FIND_NO_INSTALL_PREFIX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7097
2022-03-23 09:34:42 -04:00
Brad King
6baef6784d Merge topic 'better_cross-ref_CMAKE_FIND_NO_INSTALL_PREFIX' into release-3.23
7dc654a017 Help: Better cross-reference CMAKE_FIND_NO_INSTALL_PREFIX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7097
2022-03-23 09:34:41 -04:00
Brad King
00563063c0 Merge topic 'initialize-property-name'
26caa97057 define_property(): Change constraints of INITIALIZE_FROM_VARIABLE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7103
2022-03-23 09:32:11 -04:00
Brad King
c4d16c4964 Merge topic 'LINK_GROUP-feat-RESCAN-on-BSD-systems'
d658332782 Genex-LINK_GROUP: Add support feature RESCAN on BSD systems

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7104
2022-03-23 09:30:29 -04:00
Kyle Edwards
26caa97057 define_property(): Change constraints of INITIALIZE_FROM_VARIABLE
Remove the requirement that the variable name have a prefix while
keeping the suffix requirement. Require that the property name
contains an underscore. Update docs and tests accordingly.

Fixes: #23340
2022-03-23 16:39:32 +11:00
Robert Maynard
7dc654a017 Help: Better cross-reference CMAKE_FIND_NO_INSTALL_PREFIX 2022-03-23 16:19:03 +11:00
Brad King
41a6b4a53b INTERFACE_LINK_LIBRARIES_DIRECT: Honor link dependencies through LINK_ONLY
In commit f3ad061858 (Add usage requirements to update direct link
dependencies, 2022-01-12, v3.23.0-rc1~44^2), we evaluated the transitive
closure of `INTERFACE_LINK_LIBRARIES` as a non-linking usage requirement.
That left out `INTERFACE_LINK_LIBRARIES_DIRECT` link dependencies that
appear behind private dependencies of a static library, guarded by the
`$<LINK_ONLY:...>` generator expression.  At the time, that decision was
intentional, in order to prevent arbitrary usage requirements from
leaking out of `PRIVATE` dependencies.

Since then, we've revised evaluation of `LINK_LIBRARIES` to distinguish
between collecting link dependencies and other usage requirements.  Use
that information when following `INTERFACE_LINK_LIBRARIES` to collect
the matching kind of requirements from `INTERFACE_LINK_LIBRARIES_DIRECT`.

Fixes: #22496
2022-03-22 11:57:48 -04:00
Brad King
6ab75f4c44 Merge topic 'revert-link-interface-direct-for-3.23'
75c701f66f Help: Update INTERFACE_LINK_LIBRARIES_DIRECT to be added in 3.24
0a35b70c24 Merge branch 'revert-link-interface-direct-for-3.23'
687a91967f Revert INTERFACE_LINK_LIBRARIES_DIRECT feature for 3.23 branch

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7098
2022-03-22 11:56:44 -04:00
Brad King
2aad4cef97 Merge topic 'revert-link-interface-direct-for-3.23' into release-3.23
687a91967f Revert INTERFACE_LINK_LIBRARIES_DIRECT feature for 3.23 branch

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7098
2022-03-22 11:56:43 -04:00
Brad King
9f1471739d cmake: Add --fresh option to clear the cache and start from scratch
Simplify the workflow to re-run CMake from scratch as if a build tree
were never before processed, regardless of whether it has been.

Fixes: #23119
2022-03-22 09:27:47 -04:00
Brad King
75c701f66f Help: Update INTERFACE_LINK_LIBRARIES_DIRECT to be added in 3.24
This feature has been reverted from the 3.23 release branch.
Update its documentation and release note to target 3.24 instead.

Issue: #22496
2022-03-22 09:14:55 -04:00
Brad King
0a35b70c24 Merge branch 'revert-link-interface-direct-for-3.23'
Use the "ours" merge strategy because we only want to revert the change
from the 3.23 branch, not from `master`.  It will be revised for
inclusion in a future release series.

Manually remove the 3.23 release note that would have been removed by
this merge without the "ours" strategy.
2022-03-22 09:13:43 -04:00
Brad King
33bb2d9b18 Merge topic 'tutorial-license-name'
6892002fcb Tutorial: Fix casing of reference to License.txt

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7100
2022-03-22 08:56:16 -04:00
Brad King
25c31f1955 Merge topic 'tutorial-license-name' into release-3.23
6892002fcb Tutorial: Fix casing of reference to License.txt

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7100
2022-03-22 08:56:15 -04:00
Brad King
bbfc6215aa Merge topic 'cleanup-define_property'
87c3b5e421 define_property(): Only test prefix if INITIALIZE_FROM_VARIABLE is given
9b50f221f6 Help: Update the main purpose of define_property()
e993e2c52c Help: Clean up INITIALIZE_FROM_VARIABLE define_property() option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !7090
2022-03-22 08:55:15 -04:00
Brad King
2f3cf60711 Merge topic 'cleanup-define_property' into release-3.23
87c3b5e421 define_property(): Only test prefix if INITIALIZE_FROM_VARIABLE is given
9b50f221f6 Help: Update the main purpose of define_property()
e993e2c52c Help: Clean up INITIALIZE_FROM_VARIABLE define_property() option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !7090
2022-03-22 08:55:14 -04:00
Brad King
67ce80ac71 Merge topic 'doc-test-property-genex'
78e0204e81 Help: Clarify when add_test and test properties support generator expressions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7101
2022-03-22 08:52:12 -04:00
Brad King
c216a5a716 Merge topic 'doc-test-property-genex' into release-3.23
78e0204e81 Help: Clarify when add_test and test properties support generator expressions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7101
2022-03-22 08:52:11 -04:00
Brad King
7e36fcd745 Merge topic 'doc-productbuild'
bf44efadab Help: Add more detail for CPACK_PRODUCTBUILD_DOMAINS* variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7091
2022-03-22 08:42:20 -04:00
Marc Chevrier
d658332782 Genex-LINK_GROUP: Add support feature RESCAN on BSD systems 2022-03-22 11:36:10 +01:00
Øystein Sørensen
6892002fcb Tutorial: Fix casing of reference to License.txt
Correct a tiny typo in the Step 7 tutorial.  Change so `License.txt`
correctly starts with a capital `L`.
2022-03-21 15:58:26 -04:00
Brad King
78e0204e81 Help: Clarify when add_test and test properties support generator expressions
Issue: #23329
2022-03-21 15:46:50 -04:00
Brad King
7e642a6fa0 Merge topic 'ghs_predefined_targets'
399e73b89a GHS: release note
829e946c69 GHS: Update tests for updated binary layout
93c1acd8ff GHS: List predefined targets before user targets in GUI
bdb213819c GHS: Do not include WindowsPaths
b3e9c72901 GHS: use INSTALL target
a645287784 GHS: update build command
724b5491ef GHS: Rearrange project files in binary directory
edff0f6a1d GHS: Use Custom Target for ALL_BUILD
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7079
2022-03-21 14:36:42 -04:00
Brad King
a4b04e62fc Merge topic 'LINK_LIBRARY-WHOLE_ARCHIVE'
dabe56de58 genex-LINK_LIBRARY: Add feature WHOLE_ARCHIVE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: huangqinjin <huangqinjin@gmail.com>
Merge-request: !7064
2022-03-21 14:35:59 -04:00
Brad King
687a91967f Revert INTERFACE_LINK_LIBRARIES_DIRECT feature for 3.23 branch
Revert commit f3ad061858 (Add usage requirements to update direct link
dependencies, 2022-01-12, v3.23.0-rc1~44^2) and the property storage
updates in its predecessor commit 193a999cd5 (cmTarget: Add
INTERFACE_LINK_LIBRARIES_DIRECT{,_EXCLUDE} backtrace storage,
2022-01-06, v3.23.0-rc1~44^2~1) from the 3.23 release branch.

After initial experience using the feature in practice, additional
design considerations have been raised for discussion in the original
issue.  To avoid rushing this for the 3.23 series, we've decided to
revert the feature for now so it can be revised for a future release.

Issue: #22496
2022-03-21 13:17:32 -04:00
Craig Scott
bf44efadab Help: Add more detail for CPACK_PRODUCTBUILD_DOMAINS* variables 2022-03-21 12:25:34 +11:00
Craig Scott
9b50f221f6 Help: Update the main purpose of define_property()
The BRIEF_DOCS and FULL_DOCS are remnants from before the
Sphinx-based documentation when CMake's internal structures
for defining properties included fields for their documentation.
They are no longer mandatory for define_property() and haven't
been in practical use for some time. The main use of the command
has evolved to now be more about how to initialize and inherit
properties, so update the docs to reflect that change in focus.

Issue: #20698
2022-03-19 17:33:45 +11:00
Craig Scott
e993e2c52c Help: Clean up INITIALIZE_FROM_VARIABLE define_property() option
INITIALIZE_FROM_VARIABLE is new in CMake 3.23, but the
versionadded note was missing in the original commit. The docs
also failed to mention that the new option only applies to target
properties.

Amends fce24e4f10 (define_property(): Add INITIALIZE_FROM_VARIABLE
argument, 2022-01-13)
2022-03-19 17:33:45 +11:00
Brad King
fccb5a5152 Merge topic 'doc-multiple-src-paths'
1b8669c1d6 Help: Document warning about multiple source paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7082
2022-03-18 08:21:40 -04:00
Brad King
1b8669c1d6 Help: Document warning about multiple source paths
Although passing multiple source paths was never documented, it was not
diagnosed by CMake 3.22 and below.  In CMake 3.23 we now diagnose extra
paths and warn.  Document this change and add a release note.

Issue: #23334
2022-03-18 07:39:22 -04:00
Fred Baksik
399e73b89a GHS: release note 2022-03-17 19:41:15 -04:00
Marc Chevrier
dabe56de58 genex-LINK_LIBRARY: Add feature WHOLE_ARCHIVE 2022-03-17 23:07:59 +01:00
Brad King
7aa1e08bda Merge topic 'doc-src-bld-selection'
fea270d3ed Help: Document cmake source and binary dir selection rules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7076
2022-03-17 11:03:12 -04:00
Robert Maynard
fea270d3ed Help: Document cmake source and binary dir selection rules
Co-authored-by: Brad King <brad.king@kitware.com>
2022-03-17 09:38:32 -04:00
Brad King
0766687b2a Merge topic 'findzlib-static'
185723461f FindZLIB: more library names + option to prefer static library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7067
2022-03-16 11:23:24 -04:00
Brad King
bc1fd4b606 Merge topic 'doc-list-semicolons'
8abd714176 Help: Clarify that ENVIRONMENT test properties take ;-separated lists
02cf404ace Help: Add advice for dealing with semicolons in lists
c4117d9116 ExternalProject: Document that LIST_SEPARATOR works for CMAKE_ARGS too

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !7066
2022-03-16 11:14:59 -04:00
Brad King
b2ba662ca6 Merge topic 'doc-list-semicolons' into release-3.23
8abd714176 Help: Clarify that ENVIRONMENT test properties take ;-separated lists
02cf404ace Help: Add advice for dealing with semicolons in lists
c4117d9116 ExternalProject: Document that LIST_SEPARATOR works for CMAKE_ARGS too

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !7066
2022-03-16 11:14:58 -04:00
Brad King
fd44bb2648 Merge topic 'language-header-file-only-doc'
83a80e5193 Help: Clarify interaction of LANGUAGE and HEADER_FILE_ONLY

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7075
2022-03-16 11:13:59 -04:00
Brad King
8abd714176 Help: Clarify that ENVIRONMENT test properties take ;-separated lists
Follow up commit 79f64cc773 (Help: ENVIRONMENT_MODIFICATION clarify only
supports singular values, 2022-02-23) to specifically call out the list
format.

Issue: #23315
2022-03-15 15:49:21 -04:00
Brad King
02cf404ace Help: Add advice for dealing with semicolons in lists
Issue: #23315
2022-03-15 15:49:13 -04:00
Kyle Edwards
83a80e5193 Help: Clarify interaction of LANGUAGE and HEADER_FILE_ONLY 2022-03-15 13:06:35 -04:00
Brad King
cffc2b6942 Merge topic 'doc-ignore-prefix-paths'
5cb0a730c9 Help: Clarify behavior of search ignore-related variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7056
2022-03-15 12:48:42 -04:00