Commit Graph

67761 Commits

Author SHA1 Message Date
Brad King c9f320fdc6 Merge topic 'doc-CMP0174'
6aa2e22300 Help: Add 3.31 release note for cmake_parse_arguments CMP0174

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9955
2024-10-29 09:39:25 -04:00
Brad King b4194cca31 Merge branch 'release-3.31' 2024-10-29 09:38:16 -04:00
Brad King 1029cd338b Merge topic 'CMP0174-OLD-regression-repeated-keyword'
c8567acc32 cmake_parse_arguments: Restore capture of value after repeated keyword

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9953
2024-10-29 09:38:15 -04:00
Brad King 9b3d66bf91 Merge topic 'CMP0174-OLD-regression-repeated-keyword' into release-3.31
c8567acc32 cmake_parse_arguments: Restore capture of value after repeated keyword

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9953
2024-10-29 09:38:14 -04:00
Kitware Robot 3ee90ba838 CMake Nightly Date Stamp 2024-10-29 00:01:25 -04:00
Peter Kokot 6aa2e22300 Help: Add 3.31 release note for cmake_parse_arguments CMP0174
This was left out by commit ceeea4e511 (cmake_parse_arguments: Set
variable if empty string given after keyword, 2024-08-18,
v3.31.0-rc1~175^2).
2024-10-28 09:51:27 -04:00
Craig Scott c8567acc32 cmake_parse_arguments: Restore capture of value after repeated keyword
When a single-value keyword is repeated, and the first instance is
missing a value, it prevents the value from the second instance from
being stored in a variable. This was a regression introduced by
commit ceeea4e511 (cmake_parse_arguments: Set variable if empty string
given after keyword, 2024-08-18). That change also didn't create a
variable if the keyword was given but without a value. The purpose
of the change was to always define a variable if a keyword was given.
Lastly, that change didn't protect the CMP0174 logic to make it only
apply to the PARSE_ARGV form.

The first two of the above problems are fixed here by tracking the
keywords given instead of checking which keywords were missing
values. The third problem is also fixed here, being tightly coupled
to the same logic as the first two problems.

Fixes: #26397
2024-10-28 09:47:21 -04:00
Brad King 323638f573 Merge topic 'libuv-error-mode-backport'
0f515c2d26 libuv: win/spawn: add option to use parent process error mode
728f40d4bf libuv: win/spawn: allow exception through to OS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9931
2024-10-28 09:32:24 -04:00
Brad King 87778f46ca Merge topic 'custom_command-depfile-management'
8979e7aaab add_custom_command(DEPFILE): avoid duplicate entries in dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9945
2024-10-28 09:30:26 -04:00
Brad King e78f6df128 Merge branch 'release-3.31' 2024-10-28 09:28:01 -04:00
Brad King 86fe6dd869 Merge topic 'FindCUDAToolkit-remove-debug-message'
fb0b3d1585 FindCUDAToolkit: Remove debug message

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !9946
2024-10-28 09:28:01 -04:00
Brad King fcff1dcb06 Merge topic 'FindCUDAToolkit-remove-debug-message' into release-3.31
fb0b3d1585 FindCUDAToolkit: Remove debug message

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !9946
2024-10-28 09:28:00 -04:00
Brad King 5ecb751092 Merge topic 'test-RunCMake.CTestTimeout'
bdec4219ad Tests/RunCMake/CTestTimeout: Improve reliability when running on busy hosts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9948
2024-10-28 09:15:52 -04:00
Brad King 76bdfb04cc Merge branch 'release-3.31' 2024-10-28 09:14:40 -04:00
Brad King 4f0c36ba41 Merge topic 'link-strategy'
39fd396421 LINK_LIBRARIES_STRATEGY: Rename strategies to clarify expectations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !9949
2024-10-28 09:14:40 -04:00
Brad King f42962bfbf Merge topic 'link-strategy' into release-3.31
39fd396421 LINK_LIBRARIES_STRATEGY: Rename strategies to clarify expectations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !9949
2024-10-28 09:14:39 -04:00
Brad King 82fb7d8ce6 Merge branch 'release-3.31' 2024-10-28 08:25:27 -04:00
Brad King a2d1674cbf Merge topic 'ci-fedora-41'
8779b1ad28 Merge branch 'backport-ci-fedora-41' into ci-fedora-41
566b07bbf7 ci: Restore cmake.org html documentation search results for index entries
c8591c61d8 ci: use Fedora 41 images and environments
46d89b8524 ci: update Linux image to Fedora 41
e6da61fcd9 ci: Run Fedora + Makefiles job on x86_64-v3 hosts for mpich+libfabric
92d5c48b14 CTestCustom: Suppress clang-analyzer warning in libuv
5c7a55edc2 cmStringAlgorithms: Fix core.NonNullParamChecker diagnostic in cmAlphaNum
51ed0eba18 KWSys: SystemInformation: Add missing EOF check when reading /proc/cpuinfo
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9947
2024-10-28 08:25:27 -04:00
Brad King 7e7d1c6a46 Merge topic 'ci-fedora-41' into release-3.31
566b07bbf7 ci: Restore cmake.org html documentation search results for index entries
c8591c61d8 ci: use Fedora 41 images and environments
46d89b8524 ci: update Linux image to Fedora 41
e6da61fcd9 ci: Run Fedora + Makefiles job on x86_64-v3 hosts for mpich+libfabric
92d5c48b14 CTestCustom: Suppress clang-analyzer warning in libuv
5c7a55edc2 cmStringAlgorithms: Fix core.NonNullParamChecker diagnostic in cmAlphaNum
51ed0eba18 KWSys: SystemInformation: Add missing EOF check when reading /proc/cpuinfo
f60b4c553e Utilities/Sphinx: Tell linkcheck to not treat timeouts as broken
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9947
2024-10-28 08:25:25 -04:00
Kitware Robot 3064e8e2d6 CMake Nightly Date Stamp 2024-10-28 00:02:45 -04:00
Kitware Robot f735c94faf CMake Nightly Date Stamp 2024-10-27 00:01:25 -04:00
Brad King 8779b1ad28 Merge branch 'backport-ci-fedora-41' into ci-fedora-41 2024-10-26 06:02:18 -04:00
Brad King 566b07bbf7 ci: Restore cmake.org html documentation search results for index entries
Sphinx 7.3 fixes the problem motivating commit fbed0431c2 (ci: Suppress
cmake.org html documentation search results for index entries,
2023-08-09, v3.27.2~2^2).  Revert the workaround.

Fixes: #25175
2024-10-26 06:01:10 -04:00
Brad King c8591c61d8 ci: use Fedora 41 images and environments 2024-10-26 06:01:10 -04:00
Brad King 46d89b8524 ci: update Linux image to Fedora 41 2024-10-26 06:01:10 -04:00
Brad King e6da61fcd9 ci: Run Fedora + Makefiles job on x86_64-v3 hosts for mpich+libfabric
Similar to commit 18145e8745 (ci: Update FindMPI test environment for
mpich on Fedora 39, 2023-11-16, v3.28.0-rc6~19^2~1), libfabric fails
with SIGILL on older hardware.
2024-10-26 06:01:10 -04:00
Brad King 92d5c48b14 CTestCustom: Suppress clang-analyzer warning in libuv
This is third-party code.
2024-10-26 06:01:09 -04:00
Brad King 5c7a55edc2 cmStringAlgorithms: Fix core.NonNullParamChecker diagnostic in cmAlphaNum 2024-10-26 06:01:09 -04:00
Brad King 51ed0eba18 KWSys: SystemInformation: Add missing EOF check when reading /proc/cpuinfo
Backport KWSys upstream commit `6e847d08b` (SystemInformation: Add
missing EOF check when reading /proc/cpuinfo, 2024-10-23) to the
CMake 3.31 release branch.
2024-10-26 06:01:09 -04:00
Brad King f60b4c553e Utilities/Sphinx: Tell linkcheck to not treat timeouts as broken
Sphinx 7.3 warns:

    sphinx/builders/linkcheck.py:86: RemovedInSphinx80Warning:
    The default value for 'linkcheck_report_timeouts_as_broken'
    will change to False in Sphinx 8, ...

Configure that behavior explicitly.
2024-10-26 06:01:09 -04:00
Brad King 92272c4a17 Tests/RunCMake/BuildDepends: Skip LinkDepends with broken GNU ld 2.43
Issue: #26401
2024-10-26 06:01:09 -04:00
Brad King be540dbe19 Tests: Fix FILE stream leaks in helper programs 2024-10-26 05:47:19 -04:00
Kitware Robot 5fb10ab6bb CMake Nightly Date Stamp 2024-10-26 00:01:20 -04:00
Brad King 39fd396421 LINK_LIBRARIES_STRATEGY: Rename strategies to clarify expectations
Since commit 7abd3137b7 (Linking: Optionally reorder direct dependencies
from LINK_LIBRARIES, 2024-09-19, v3.31.0-rc1~53^2) the strategy name
`PRESERVE_ORDER` has led users to expect that it strictly preserves
order.  While the part of the link line generation logic controlled by
`LINK_LIBRARIES_STRATEGY` does preserve order, it is not the last step.
Toolchain-specific de-duplication can cause the order to change on the
actual link line generated in the build system.

Rename the strategies:

* `PRESERVE_ORDER` => `REORDER_MINIMALLY`
* `REORDER`        => `REORDER_FREELY`

The new names make it clear that reordering is always possible, just to
varying degrees.  Update the `LINK_LIBRARIES_STRATEGY` documentation to
clarify that the strategies do not directly control the final link line.

Fixes: #26400
Issue: #26271
2024-10-25 10:23:37 -04:00
Brad King bdec4219ad Tests/RunCMake/CTestTimeout: Improve reliability when running on busy hosts
The `PropertyOverridesVar` case occasionally reaches the `TIMEOUT`
property's timeout, which is not what the test expects.  Extend the
property's timeout to make it less likely to be reached.
2024-10-25 09:25:03 -04:00
Dylan Snelgrove 0f515c2d26 libuv: win/spawn: add option to use parent process error mode
Backport changes from libuv v2 commit `8ad246557a` (win,process: allow
users to configure child error mode, 2024-10-17) to add the
`UV_PROCESS_WINDOWS_USE_PARENT_ERROR_MODE` option.

Also use `UV_PROCESS_WINDOWS_USE_PARENT_ERROR_MODE` to keep
the behavior the same as before the option was added,
all child processes would be spawned the the parent's
error mode.

Issue: #20115
2024-10-25 08:51:45 -04:00
Dylan Snelgrove 728f40d4bf libuv: win/spawn: allow exception through to OS
Backport changes from libuv v2 commit `da343e6237` (win: allow fatal
errors to trigger WER, 2023-01-17).

Issue: #20115
2024-10-25 08:51:45 -04:00
Brad King 60385d2f52 Merge branch 'upstream-KWSys' into ci-fedora-41
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2024-10-25 (7cff32e1)
2024-10-25 08:46:27 -04:00
KWSys Upstream acade348a7 KWSys 2024-10-25 (7cff32e1)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit 7cff32e10e2bfe763415bc550816e8a9608e5954 (master).

Upstream Shortlog
-----------------

Brad King (1):
      6e847d08 SystemInformation: Add missing EOF check when reading /proc/cpuinfo
2024-10-25 08:46:27 -04:00
Brad King 6fdb15672d Tests: Update FindBoost.TestPython for Python 3.13 and 3.14
Follow up the python 3.13 and 3.14 support from:

* commit be958c8f35 (FindPython: Add support for Python 3.14, 2024-10-17)
* commit dfab044c44 (FindPython: add support for Python 3.13, 2023-08-14)

with an update for the FindBoost test.
2024-10-25 08:43:05 -04:00
Brad King 570f54c8f7 clang-tidy: ignore warnings new in version 19
These warnings can be fixed in the future.  Ignore them for now.
Also drop some suppressions we no longer need.
2024-10-25 08:43:04 -04:00
Brad King 7605228f5e codespell: Fix typos 2024-10-25 08:43:04 -04:00
Seth R Johnson fb0b3d1585 FindCUDAToolkit: Remove debug message
This was left accidentally by commit 587c0443cc (FindCUDAToolkit:
Support CUDA version extraction from version.json, 2023-05-02,
v3.26.4~3^2).
2024-10-25 08:32:00 -04:00
Brad King 65c1147e6c Merge topic 'ctest-timing'
83845184db cmCTest: Move timing functions from cmCTestScriptHandler to cmCTest

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9936
2024-10-25 08:28:43 -04:00
Brad King 719376b0a6 Merge topic 'no-stringly-typed-variables'
5497eba1a0 CTestUpdate: Prefer concrete variables over map entries
8cac63814c CTestSubmit: Prefer concrete variables over map entries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9935
2024-10-25 08:27:43 -04:00
Brad King 5d48124044 Merge topic 'ctest-handler-refactoring-pre'
f5a314cc35 cmCTestGenericHandler: Add cmCTest* argument to Initialize function
20b35ef622 cmCTestBuildCommand: Make use of ProcessAdditionalValues
b3c01f70b5 ctest: Print documentation without creating a cmCTest instance
66460dc4d7 cmCTest: Cleanup ReadCustomConfigurationFileTree function
812f8cce5a cmCTest: Cleanup PopulateCustomVectors calls
e279ba06dc cmCTest: Inline InitializeTesting at its call site

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9934
2024-10-25 08:26:56 -04:00
Brad King e83535f5a3 Merge topic 'improve-package-search'
6f3dc1161a find_package: Also sort Framework matches
e90f60f864 find_package: Don't glob certain macOS paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9942
2024-10-25 08:25:34 -04:00
Brad King 0ba8bdb5c2 Merge topic 'doc-BUILD_TESTING'
9510820d58 Help: Document CTest module BUILD_TESTING variable
6e6e688b80 CTest: Improve formatting of documentation cmake code blocks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9927
2024-10-25 08:23:25 -04:00
Brad King 87d26eaf17 Merge branch 'release-3.31' 2024-10-25 08:21:33 -04:00
Brad King 1380d0ddfa Merge topic 'windows-kernel-mode-driver'
54bbd00448 WindowsKernelModeDriver: Switch to appending to variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9941
2024-10-25 08:21:33 -04:00