summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* LINK_LIBRARIES: Add support for LINK_ONLY genexBrad King2022-03-2410-8/+99
| | | | | | | 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`.
* INTERFACE_LINK_LIBRARIES_DIRECT: Honor link dependencies through LINK_ONLYBrad King2022-03-225-23/+66
| | | | | | | | | | | | | | | | | | 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
* LINK_LIBRARIES: Evaluate separately for linking and usage requirementsBrad King2022-03-2210-43/+89
| | | | | | | | | | | | | | | | | | | | | | | | | We evaluate `LINK_LIBRARIES` and `INTERFACE_LINK_LIBRARIES` for two purposes: * Constructing the link line. * Collecting usage requirements. We evaluate `INTERFACE_LINK_LIBRARIES` separately for each purpose in order to support the `$<LINK_ONLY:...>` generator expression used to express private link dependencies of a static library. Previously we only evaluated `LINK_LIBRARIES` for linking, and used that result for collecting usage requirements too. Therefore `$<LINK_ONLY:...>` does not work in `LINK_LIBRARIES`. With the introduction of `INTERFACE_LINK_LIBRARIES_DIRECT`, evaluation of `LINK_LIBRARIES` now needs to distinguish these two cases in order to honor link dependencies encountered through `$<LINK_ONLY:...>` without also exposing other usage requirements through private dependencies of a static library. Revise internal infrastructure to distinguish the two cases when evaluating `LINK_LIBRARIES`. Make the information available in code paths for `INTERFACE_LINK_LIBRARIES_DIRECT` and `LINK_ONLY`. Defer actually using the information to later commits. Issue: #22496
* Merge branch 'release-3.23'Brad King2022-03-220-0/+0
|\
| * Merge topic 'revert-link-interface-direct-for-3.23' into release-3.23Brad King2022-03-2278-1320/+27
| |\ | | | | | | | | | | | | | | | | | | 687a91967f Revert INTERFACE_LINK_LIBRARIES_DIRECT feature for 3.23 branch Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7098
* | \ Merge topic 'revert-link-interface-direct-for-3.23'Brad King2022-03-224-7/+9
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | Help: Update INTERFACE_LINK_LIBRARIES_DIRECT to be added in 3.24Brad King2022-03-223-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This feature has been reverted from the 3.23 release branch. Update its documentation and release note to target 3.24 instead. Issue: #22496
| * | | Merge branch 'revert-link-interface-direct-for-3.23'Brad King2022-03-221-5/+0
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | Revert INTERFACE_LINK_LIBRARIES_DIRECT feature for 3.23 branchBrad King2022-03-2178-1320/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge topic 'ci-openjdk'Brad King2022-03-224-8/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 97f4aa1f05 ci: Add OpenJDK to Debian and Fedora base images 78d0613695 ci: Drop p4 binary checksum because the download URL is not stable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7102
| * | | | ci: Add OpenJDK to Debian and Fedora base imagesBrad King2022-03-214-3/+6
| | | | | | | | | | | | | | | | | | | | This enables the `JavaExportImport` test in CI.
| * | | | ci: Drop p4 binary checksum because the download URL is not stableBrad King2022-03-182-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit f9526f39a1 (ci: Add bzr and p4 to Debian and Fedora base images, 2022-02-21) we checked the SHA-256 hash of the Perforce binary. However, content at the download URL has changed in just the last few weeks, so we cannot consider it stable.
* | | | | Merge topic 'FindMatlab-batch'Brad King2022-03-222-8/+60
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8468dfb35f FindMatlab: Use -batch option in matlab_add_unit_test if possible ebb0685824 FindMatlab: Add fallback to use -batch option in version extraction Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7088
| * | | | | FindMatlab: Use -batch option in matlab_add_unit_test if possibleSilvio Traversaro2022-03-212-1/+13
| | | | | |
| * | | | | FindMatlab: Add fallback to use -batch option in version extractionSilvio2022-03-181-7/+47
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: #22646
* | | | | | Merge topic 'cuda-nvcc-error-msg-on-detection-failure'Brad King2022-03-221-4/+4
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4040173ed3 CUDA: Generate better error message when detecting nvcc Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7094
| * | | | | | CUDA: Generate better error message when detecting nvccRobert Maynard2022-03-211-4/+4
| | |/ / / / | |/| | | | | | | | | | | | | | | | Issue: #23322, #23323
* | | | | | Merge topic 'emacs-indent-close-parens'Brad King2022-03-221-17/+39
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bc690f89f5 cmake-mode.el: Fix indentation of 'closing parens only lines' Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7089
| * | | | | | cmake-mode.el: Fix indentation of 'closing parens only lines'Kai Tetzlaff2022-03-181-17/+39
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Outdent lines containing only closing parentheses (`)`) by `cmake-tab-width` to align the indentation of the 'closing parens only line' with the line that contains the opening paren. I.e. change the formatting from: add_library(mylib mysrc.c ) to: add_library(mylib mysrc.c )
* | | | | | Merge branch 'release-3.23'Brad King2022-03-220-0/+0
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | |
| * | | | | Merge topic 'tutorial-license-name' into release-3.23Brad King2022-03-221-1/+1
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6892002fcb Tutorial: Fix casing of reference to License.txt Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7100
* | \ \ \ \ \ Merge topic 'tutorial-license-name'Brad King2022-03-221-1/+1
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6892002fcb Tutorial: Fix casing of reference to License.txt Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7100
| * | | | | | Tutorial: Fix casing of reference to License.txtØystein Sørensen2022-03-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Correct a tiny typo in the Step 7 tutorial. Change so `License.txt` correctly starts with a capital `L`.
* | | | | | | Merge branch 'release-3.23'Brad King2022-03-220-0/+0
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | Merge topic 'cleanup-define_property' into release-3.23Brad King2022-03-222-24/+28
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | \ \ \ \ \ \ Merge topic 'cleanup-define_property'Brad King2022-03-222-24/+28
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | | | define_property(): Only test prefix if INITIALIZE_FROM_VARIABLE is givenCraig Scott2022-03-191-13/+13
| | | | | | | |
| * | | | | | | Help: Update the main purpose of define_property()Craig Scott2022-03-191-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | | | Help: Clean up INITIALIZE_FROM_VARIABLE define_property() optionCraig Scott2022-03-191-4/+6
| | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* | | | | | | Merge branch 'release-3.23'Brad King2022-03-220-0/+0
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | Merge topic 'doc-test-property-genex' into release-3.23Brad King2022-03-223-8/+26
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 78e0204e81 Help: Clarify when add_test and test properties support generator expressions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7101
* | \ \ \ \ \ \ Merge topic 'doc-test-property-genex'Brad King2022-03-223-8/+26
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 78e0204e81 Help: Clarify when add_test and test properties support generator expressions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7101
| * | | | | | | Help: Clarify when add_test and test properties support generator expressionsBrad King2022-03-213-8/+26
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | Issue: #23329
* | | | | | | Merge branch 'release-3.23'Brad King2022-03-220-0/+0
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | Merge topic 'productbuild-rootVolumeOnly' into release-3.23Brad King2022-03-222-14/+22
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2a8df7e7db productbuild: Don't write rootVolumeOnly attribute if writing domains 95eb8cbcfc CPack: Avoid space / tab mix in productbuild distribution.xml template 28fdc3a536 productbuild: Simplify internal CPACK_PRODUCTBUILD_DOMAINS usage Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7092
* | \ \ \ \ \ \ Merge topic 'productbuild-rootVolumeOnly'Brad King2022-03-222-14/+22
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2a8df7e7db productbuild: Don't write rootVolumeOnly attribute if writing domains 95eb8cbcfc CPack: Avoid space / tab mix in productbuild distribution.xml template 28fdc3a536 productbuild: Simplify internal CPACK_PRODUCTBUILD_DOMAINS usage Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7092
| * | | | | | | productbuild: Don't write rootVolumeOnly attribute if writing domainsCraig Scott2022-03-212-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The rootVolumeOnly attribute is deprecated. Apple docs say to use domains instead. Fixes: #23343
| * | | | | | | CPack: Avoid space / tab mix in productbuild distribution.xml templateCraig Scott2022-03-211-6/+6
| | | | | | | |
| * | | | | | | productbuild: Simplify internal CPACK_PRODUCTBUILD_DOMAINS usageCraig Scott2022-03-211-5/+4
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no benefit to storing the CPACK_PRODUCTBUILD_DOMAINS prefix in a variable and appending to it in the C++ code. It has the disadvantage of making it harder to find usages of the variables with a suffix appended to that string. Expand out the strings at the places they are used so that they are easier to spot.
* | | | | | | Merge branch 'release-3.23'Brad King2022-03-220-0/+0
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | Merge branch 'release-3.22' into release-3.23Brad King2022-03-220-0/+0
| |\ \ \ \ \ \
* | \ \ \ \ \ \ Merge branch 'release-3.22'Brad King2022-03-220-0/+0
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | |
| * | | | | | | Merge branch 'cpack-nsis-fix-uninstall-quoting' into release-3.22Brad King2022-03-211-3/+5
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !7096
* | \ \ \ \ \ \ \ Merge branch 'release-3.23'Brad King2022-03-220-0/+0
|\ \ \ \ \ \ \ \ \ | | |_|/ / / / / / | |/| | | | | | |
| * | | | | | | | Merge topic 'cpack-nsis-fix-uninstall-quoting' into release-3.23Brad King2022-03-221-3/+5
| |\ \ \ \ \ \ \ \ | | | |/ / / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5d2ceaada8 CPack/NSIS: Add support for unquoted (legacy) uninstaller strings b795c96727 CPack/NSIS: Fix uninstall command when run from installer Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7096
* | | | | | | | | Merge topic 'cpack-nsis-fix-uninstall-quoting'Brad King2022-03-221-3/+5
|\ \ \ \ \ \ \ \ \ | | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5d2ceaada8 CPack/NSIS: Add support for unquoted (legacy) uninstaller strings b795c96727 CPack/NSIS: Fix uninstall command when run from installer Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7096
| * | | | | | | | CPack/NSIS: Add support for unquoted (legacy) uninstaller stringsMarc Jeanmougin2022-03-211-0/+4
| | | | | | | | |
| * | | | | | | | CPack/NSIS: Fix uninstall command when run from installerMarc Jeanmougin2022-03-211-3/+1
| | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The quoting introduced by commit eb3b3bacdc (CPack/NSIS: Fix uninstall on Windows using "Apps & Features", 2021-09-13, v3.22.0-rc1~136^2) created two errors in the uninstaller call: double quoting of the uninstaller executable, and quotes added to the `_?=` argument which does not support them. Simplify the command.
* | | | | | | | Merge branch 'release-3.23'Brad King2022-03-220-0/+0
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | |
| * | | | | | | Merge topic 'FindCUDAToolkit-cufftw-static' into release-3.23Brad King2022-03-221-1/+1
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3e7113e644 FindCUDAToolkit: Add missing cufftw_static target Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7093