Commit Graph

67460 Commits

Author SHA1 Message Date
Brad King 3a96346a3f Configure CMake itself with policies through CMake 3.30 2024-10-10 09:32:06 -04:00
Brad King 10f8c6a274 export: Increase maximum policy version in exported files to 3.30
The files generated by `install(EXPORT)`, `export()`, and
`install_jar_exports()` commands are known to work with policies
as of CMake 3.30, so enable them in sufficiently new CMake versions.
2024-10-10 09:32:06 -04:00
Brad King fe6cf6d28c Add deprecation warnings for policies CMP0139 and below
The OLD behaviors of all policies are deprecated, but only by
documentation.  Add an explicit deprecation diagnostic for policies
introduced in CMake 3.24 and below to encourage projects to port
away from setting policies to OLD.
2024-10-10 09:31:52 -04:00
Brad King b51e6a0be7 Help/dev: Update export policy version in post-release development
Since commit 20fa4ce8d8 (export: Factor out CMake-specific export
generation (2/2), 2024-07-18) the code that needs editing is in a
different method.
2024-10-09 14:31:50 -04:00
Brad King 5d4f86326c Begin post-3.31 development 2024-10-09 10:04:17 -04:00
Brad King 5cb4e6fa71 Merge branch 'release-3.31' 2024-10-09 10:02:56 -04:00
Brad King b062c18c64 Begin 3.31 release versioning 2024-10-09 10:02:30 -04:00
Brad King 801c94085f Help: Drop development topic notes to prepare release
Release versions do not have the development topic section of
the CMake Release Notes index page.
2024-10-09 10:01:05 -04:00
Brad King be3efb4119 Merge topic 'doc-3.31-relnotes'
aa6bbc3135 Help: Update Sphinx versionadded directives for 3.31 release
738cf491d4 Help: Organize and revise 3.31 release notes
fae66f4751 Help: Consolidate 3.31 release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9878
2024-10-09 09:59:24 -04:00
Brad King aa6bbc3135 Help: Update Sphinx versionadded directives for 3.31 release
Run the script:

    Utilities/Sphinx/update_versions.py --since v3.30.0 --overwrite
2024-10-09 09:32:54 -04:00
Brad King 738cf491d4 Help: Organize and revise 3.31 release notes
Add section headers similar to the 3.30 release notes and move each
individual bullet into an appropriate section.  Revise a few bullets.
2024-10-09 09:32:21 -04:00
Brad King fae66f4751 Help: Consolidate 3.31 release notes
Run the `Utilities/Release/consolidate-relnotes.bash` script to move
notes from `Help/release/dev/*` into `Help/release/3.31.rst`.
2024-10-09 09:32:02 -04:00
Brad King eed2b2d2cb Merge topic 'ci-script-cmake-version'
2a8d7e76ef ci: Update ctest scripts with policies through CMake 3.29

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9887
2024-10-09 09:22:13 -04:00
Brad King a71652496a Merge topic 'project-vars-policy'
e5a9ccbcc8 project: Always set <PROJECT-NAME>_* as normal variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9879
2024-10-09 09:20:57 -04:00
Brad King f7b29f0f0b Merge topic 'FindProtobuf-protoc-missing'
4a1177246d FindProtobuf: Fail protobuf_generate early if protoc is missing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9880
2024-10-09 09:12:52 -04:00
Kitware Robot 5d58adf282 CMake Nightly Date Stamp 2024-10-09 00:01:23 -04:00
Brad King 2a8d7e76ef ci: Update ctest scripts with policies through CMake 3.29
Since commit 84db8506ff (Deprecate compatibility with CMake versions
older than 3.10, 2024-10-03) some of the scripts warned when executed
with a `ctest` built earlier in the pipeline.
2024-10-08 10:32:06 -04:00
Craig Scott e5a9ccbcc8 project: Always set <PROJECT-NAME>_* as normal variables
Re-introduce the behavior originally introduced in CMake 3.30.3 by
commit c1ece78d11 (project: non cache <project> prefix variables are
also created, 2024-08-27, v3.30.3~2^2), but this time with a policy for
compatibility.

Issue: #25714
Issue: #26243
2024-10-08 10:07:11 -04:00
Brad King ddf1d2944f Merge branch 'release-3.30' 2024-10-08 09:23:28 -04:00
Brad King 9c4a0a9ff0 CMake 3.30.5 v3.30.5 2024-10-08 08:56:04 -04:00
Brad King 51eb713098 Merge topic 'FindOpenMP-CUDA-Clang'
a4b60d948d FindOpenMP: Add support for CUDA when compiling with Clang

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9886
2024-10-08 08:49:03 -04:00
Brad King e7cacb057d Merge topic 'clang-cuda-link-flags'
cfa888a6e2 Clang/CUDA: Add language-wide flags when linking with compiler driver

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9885
2024-10-08 08:47:53 -04:00
Brad King f93640b4c0 Merge topic 'test-cuda-optixir-includes'
c75e873564 CUDA: OptiXIR test includes all required headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9884
2024-10-08 08:47:02 -04:00
Brad King 70d0b3f265 Merge branch 'release-3.30' 2024-10-08 08:45:26 -04:00
Brad King dc371e07fb Merge topic 'project-vars'
fa07ddfebf project: Only check non-cache vars when setting project vars

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9883
2024-10-08 08:45:26 -04:00
Brad King f9324a73e0 Merge topic 'project-vars' into release-3.30
fa07ddfebf project: Only check non-cache vars when setting project vars

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9883
2024-10-08 08:45:24 -04:00
Kitware Robot 1de987a7e9 CMake Nightly Date Stamp 2024-10-08 00:01:12 -04:00
JiaRui Liu 4a1177246d FindProtobuf: Fail protobuf_generate early if protoc is missing 2024-10-08 08:33:35 +08:00
Brad King a4b60d948d FindOpenMP: Add support for CUDA when compiling with Clang 2024-10-07 14:19:08 -04:00
Brad King cfa888a6e2 Clang/CUDA: Add language-wide flags when linking with compiler driver
We do this for other compiler/language combinations, but these flags
were left out by commit 5df21adf46 (CUDA: Add support for Clang
compiler, 2020-03-07, v3.18.0-rc1~145^2~1).
2024-10-07 11:57:24 -04:00
Craig Scott fa07ddfebf project: Only check non-cache vars when setting project vars
The change in commit 86ad7cc886 (project: Only define non-cache vars if
already defined, 2024-09-15, v3.30.4~2^2) was meant to only check for
non-cache variables when deciding whether to set non-cache project
variables for the current call.  However, it erroneously checked for any
variable, including cache variables.  This gives the intended result on
the first run, but on subsequent runs a cache variable will exist that
did not on the first run, leading to different behavior between the two
runs.  Fix the logic to only check for a pre-existing non-cache
variable, as was originally intended.

Fixes: #26355
2024-10-07 10:24:37 -04:00
Robert Maynard c75e873564 CUDA: OptiXIR test includes all required headers 2024-10-07 10:23:42 -04:00
Brad King 5b7ab1818b Merge topic 'cmake--workflow-preset'
b80aa1d3a3 preset: Easier command line interface for Workflow Presets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9866
2024-10-07 09:11:48 -04:00
Brad King 9a14348a2c Merge topic 'GoogleTest-DISCOVERY_EXTRA_ARGS'
2dcba446e2 GoogleTest: Add DISCOVERY_EXTRA_ARGS to gtest_discover_tests()
f55f9fd5c1 Help: Mention TEST_LIST with gtest_discover_tests() can omit tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9856
2024-10-07 09:10:44 -04:00
Brad King ae64e85ca9 Merge topic 'ci-linkcheck'
7cc12caa32 FindDevIL: Restore http link after redirect was removed
51c737515b FindAVIFile: Restore http link after redirect was removed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9877
2024-10-07 09:06:47 -04:00
Kitware Robot 2086ddf27e CMake Nightly Date Stamp 2024-10-07 00:02:40 -04:00
Kitware Robot 943fd14320 CMake Nightly Date Stamp 2024-10-06 00:02:00 -04:00
Kevin Tolle b80aa1d3a3 preset: Easier command line interface for Workflow Presets
A positional option allows 'cmake --workflow --preset <preset>' to be
shortened to 'cmake --workflow <preset>'.

Fixes: #26270
2024-10-05 16:08:44 +10:00
Kitware Robot 581be8a0fd CMake Nightly Date Stamp 2024-10-05 00:01:32 -04:00
Brad King d734f8dc6d Merge topic 'deprecate-pre-3.10'
84db8506ff Deprecate compatibility with CMake versions older than 3.10
9e3b559b6a Tests: Update cmake_minimum_required versions to 3.10
f4aa34daa7 Tests/RunCMake: Update cmake_minimum_required versions to 3.10
1d38d52995 Tests/RunCMake: Match diagnostic line numbers more robustly
55778f5a16 ExternalProject: Enable all policies in internal scripts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9875
2024-10-04 10:26:23 -04:00
Brad King 3b2b5ca096 Merge topic 'cpack-deb-depends-list'
443a06807c CPackDeb: always treat PACKAGE_DEPENDS as a list

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9873
2024-10-04 09:16:56 -04:00
Brad King 7cc12caa32 FindDevIL: Restore http link after redirect was removed
Revert the URL change from commit 8a59fb1c90 (FindDevIL: Replace http
link with its redirect, 2024-09-26), as the http redirect seems to have
been removed.
2024-10-04 09:13:07 -04:00
Brad King 51c737515b FindAVIFile: Restore http link after redirect was removed
Revert the URL change from commit f77e36aa37 (FindAVIFile: Replace http
link with its redirect, 2024-09-26), as the http redirect seems to have
been removed.
2024-10-04 09:12:05 -04:00
Cedric Martineau 2dcba446e2 GoogleTest: Add DISCOVERY_EXTRA_ARGS to gtest_discover_tests()
Fixes: #26261
Co-authored-by: Craig Scott <craig.scott@crascit.com>
2024-10-04 18:12:30 +10:00
Craig Scott f55f9fd5c1 Help: Mention TEST_LIST with gtest_discover_tests() can omit tests
Test names with square brackets can't be safely parsed in the
list returned through TEST_LIST, so they are omitted from the
list. This was implemented in 8b85b10fb3 (GoogleTest: Add
handling for square brackets in test names, 2022-01-05), but the
documentation wasn't updated as part of that change.
2024-10-04 18:11:28 +10:00
Kitware Robot f296e7c85b CMake Nightly Date Stamp 2024-10-04 00:01:20 -04:00
Brad King 84db8506ff Deprecate compatibility with CMake versions older than 3.10
Issue a deprecation warning on calls to `cmake_minimum_required` or
`cmake_policy` that set policies based on versions older than 3.10.
Note that the effective policy version includes `...<max>` treatment.
Update the check from commit 3a4791548d (Deprecate compatibility with
CMake versions older than 3.5, 2023-02-09, v3.27.0-rc1~508^2).
2024-10-03 14:18:26 -04:00
Brad King 9e3b559b6a Tests: Update cmake_minimum_required versions to 3.10 2024-10-03 14:18:16 -04:00
Brad King f4aa34daa7 Tests/RunCMake: Update cmake_minimum_required versions to 3.10
For policy-specific tests, use the version before the policy was
introduced.  Otherwise, use 3.10 where possible.
2024-10-03 11:52:22 -04:00
Brad King 1d38d52995 Tests/RunCMake: Match diagnostic line numbers more robustly 2024-10-03 10:23:37 -04:00