Commit Graph

67540 Commits

Author SHA1 Message Date
Brad King
baceeb2c18 Merge topic 'aix-archive-shared-libraries' into release-3.31
4207687a5f Help: Update AIX_SHARED_LIBRARY_ARCHIVE for versioned shared objects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9954
2024-10-29 10:16:07 -04:00
Aditya Vidyadhar Kamath
4207687a5f Help: Update AIX_SHARED_LIBRARY_ARCHIVE for versioned shared objects
This was missed in commit dc8e4f8f0c (AIX: Enable versioned shared
objects with CMAKE_AIX_SHARED_LIBRARY_ARCHIVE, 2024-10-10,
v3.31.0-rc2~8^2).
2024-10-29 09:45:36 -04:00
Brad King
7b47da6e5d Merge topic 'updated-workflow-bash-completion' into release-3.31
3ae031992a bash-completion: Complete a workflow name after the --workflow option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9943
2024-10-29 09:40:38 -04:00
Brad King
f4712b8af7 Merge topic 'doc-CMP0174' into release-3.31
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:24 -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
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
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
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
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
Alex Turbov
3ae031992a bash-completion: Complete a workflow name after the --workflow option
Update bash completion for commit b80aa1d3a3 (preset: Easier command
line interface for Workflow Presets, 2024-09-30, v3.31.0-rc1~17^2).

Issue: #26270
2024-10-27 21:08:12 +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
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
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
ebd038613e Merge topic 'windows-kernel-mode-driver' into release-3.31
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:32 -04:00
Brad King
0a37acc607 Merge topic 'lfortran-link-info' into release-3.31
34067963cc LFortran: Improve detection of implicit link information for lfortran 0.40+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9939
2024-10-25 08:19:54 -04:00
Brad King
4dd738b53c Merge topic 'linker-configuration-enhancements' into release-3.31
0619c064ff Linker configuration: enhance usability

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9937
2024-10-25 08:18:27 -04:00
Brad King
8e99e70297 Merge topic 'Help-CMAKE_LINK_DEPENDS_USE_LINKER' into release-3.31
686698a7b4 Help: Update note relative the GNU binutils linkers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9938
2024-10-25 08:13:02 -04:00
Joseph Snyder
54bbd00448 WindowsKernelModeDriver: Switch to appending to variables
When using the WindowsKernelModeDriver, do not add the new paths
if the variable was not previously defined.  Instead, append them
to the existing value.

Add a new GUID for the Experimental mode gate
2024-10-24 13:20:08 -04:00
Brad King
34067963cc LFortran: Improve detection of implicit link information for lfortran 0.40+
These versions of LFortran support passing `-v -Wl,-v` to the underlying
compiler so we can extract the full implicit link information.

Issue: #26145
2024-10-24 11:15:12 -04:00
Marc Chevrier
686698a7b4 Help: Update note relative the GNU binutils linkers 2024-10-24 17:02:15 +02:00
Marc Chevrier
0619c064ff Linker configuration: enhance usability
The linker configuration file is now optional: It is loaded only if
variable CMAKE_<LANG>_USE_LINKER_CONFIGURATION is set to TRUE.

The file CMakeAddNewLanguage.txt is updated to take into account the
linker configuration.

Fixes: #26393
2024-10-24 16:37:30 +02:00
Brad King
81f49865f2 Merge topic 'fix-path-search-doc' into release-3.31
630e4a12a3 Help: Fix find_package search order w.r.t. globs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Matthew Woehlke <matthew.woehlke@kitware.com>
Merge-request: !9930
2024-10-24 08:59:41 -04:00
Brad King
f19cc0c33f Merge topic 'doc-link-libraries-strategy' into release-3.31
1e2b2b7fd2 Help: Clarify LINK_LIBRARIES_STRATEGY follow-up de-duplication

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9933
2024-10-24 08:58:46 -04:00
Matthew Woehlke
630e4a12a3 Help: Fix find_package search order w.r.t. globs
Add documentation to clarify that `find_package` searches paths in the
specified order and stops at the first match.  Clarify documentation of
`CMAKE_FIND_PACKAGE_SORT_*` to match the actual behavior.

Note that no behavior is actually changed, this merely improves the
documentation to reflect actual behavior rather than seeming to imply
something else.

Also, update the test to verify that what we claim in the updated
documentation is what's actually happening.
2024-10-23 12:46:07 -04:00
Brad King
1e2b2b7fd2 Help: Clarify LINK_LIBRARIES_STRATEGY follow-up de-duplication
Extend discussion of the ``PRESERVE_ORDER`` example to prominently
explain how platform-specific behavior can affect generated link lines.

Closes: #26388
2024-10-23 10:09:22 -04:00
Brad King
5b2351fb39 Merge topic 'curl-tls-version' into release-3.31
19d81b357c ci: Host our own URL to test expected TLS_VERSION failure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9928
2024-10-23 08:27:18 -04:00
Brad King
19d81b357c ci: Host our own URL to test expected TLS_VERSION failure
Avoid unnecessary load on an external resource.
2024-10-21 16:54:46 -04:00
Craig Scott
6768820826 Merge topic 'doc-link-libraries-strategy' into release-3.31
1a119c5ad5 Help: Move LINK_LIBRARIES_STRATEGY details to target property docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !9919
2024-10-19 17:50:09 -04:00
Brad King
f59f2b0512 Merge branch 'release-3.30' into release-3.31 2024-10-19 14:50:26 -04:00
Brad King
ceda8bece9 Merge topic 'test-cuda-bin2c-null' into release-3.31
0c1d290090 Tests: Ensure CUDA bin2c output is null terminated

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9917
2024-10-19 14:49:47 -04:00
Brad King
27a1fb055a Merge branch 'release-3.29' into release-3.30 2024-10-19 14:48:37 -04:00
Brad King
43bb255aaa Merge topic 'test-cuda-bin2c-null' into release-3.30
0c1d290090 Tests: Ensure CUDA bin2c output is null terminated

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9917
2024-10-19 14:48:15 -04:00
Brad King
d1d20ed397 Merge topic 'test-cuda-bin2c-null' into release-3.29
0c1d290090 Tests: Ensure CUDA bin2c output is null terminated

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9917
2024-10-19 14:47:34 -04:00
Craig Scott
1a119c5ad5 Help: Move LINK_LIBRARIES_STRATEGY details to target property docs
For cases where a CMAKE_XXX variable provides a default value for a
XXX target property, the convention used in the documentation is to
put the detailed explanation in the target property docs, leaving the
variable docs to be fairly minimal and cross-reference the target
property docs for details.

When the (CMAKE_)LINK_LIBRARIES_STRATEGY docs were first added,
they were the opposite of this convention, putting the details in the
variable docs instead of the property docs. This change moves the
details to the property docs to make it consistent with the prevailing
convention used elsewhere.
2024-10-19 10:38:10 +11:00
Robert Maynard
0c1d290090 Tests: Ensure CUDA bin2c output is null terminated
The default behavior of bin2c is to create binary arrays that have no
null termination.  So to use it as a C array we need to explicitly tell
it to create valid null terminated strings.

This will safely allow us to run PTX tests across all CUDA drivers.
2024-10-18 11:05:10 -04:00
Brad King
5a459163dc Merge topic 'fix-cps-version' into release-3.31
f04dd93c47 cmExportPackageInfoGenerator: Fix version properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9914
2024-10-18 07:40:14 -04:00
Brad King
b3a90110ce Merge branch 'release-3.30' into release-3.31 2024-10-18 07:37:54 -04:00