Commit Graph

75482 Commits

Author SHA1 Message Date
Brad King
ffe0edc092 Merge topic 'list-predicate'
15340d6a96 list(FILTER): Add PREDICATE mode
c7af6e94d8 list(TRANSFORM): Add PREDICATE selector
0f30e0fe1c Help: Fix indentation of list(FILTER) docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11945
2026-05-05 10:58:32 -04:00
Brad King
bf3a43e4ad Merge topic 'JOB_POOL_COMPILE-FileSet-property'
8e6eec8125 FILE_SET: add JOB_POOL_COMPILE property support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12005
2026-05-05 10:55:51 -04:00
Brad King
885b588502 Merge topic 'SKIP_LINTING-FileSet-property'
f18ba89862 FILE_SET: add SKIP_LINTING property support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12004
2026-05-05 10:54:37 -04:00
Brad King
0469dc90c4 Merge topic 'cmake-diagnostics-check-order'
91e81bf262 Diagnostics: Ensure correct ordering
700f64cfb9 cmDiagnostics: Fix typo in source documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12002
2026-05-05 10:51:52 -04:00
Brad King
0daa41a8fd Merge topic 'presets-error-diagnostics'
654a195d8b presets: Improve error diagnostics
c6e81bf30e Help/presets: Disallow empty env keys in build presets also

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !11987
2026-05-05 10:50:28 -04:00
Brad King
05b446c2ed Merge topic 'pellesc-default-flags'
12e6c14e69 PellesC: Add default -Ze flag to support compilation against Windows APIs
9db2cf5429 PellesC: Add default compilation and link flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12000
2026-05-05 10:48:32 -04:00
Brad King
b0c1507fbf Merge topic 'fbuild_unity_exclude'
05ac9db640 FASTBuild: use UnityInputExcludedFiles for unity skips

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12003
2026-05-05 10:46:59 -04:00
Brad King
a05a143930 Merge topic 'ci-fedora-44'
f95c3c1ac0 ci: Update Clang HIP/CUDA wrappers for C++ 26 with libstdc++ 16 on Fedora 44
22a0b461dc ci: use Fedora 44 images and environments
33421d31e3 ci: update Fedora base images to Fedora 44
5182cd415d ci: Update to BullseyeCoverage 9.25.1
2c3a9fcabe clang-tidy module: Update to build against LLVM/Clang 22
e9b6b15082 clang-tidy: ignore warnings new in version 22
9207cccc00 clang-tidy: fix modernize-make-unique lint
859c541be8 pre-commit: update to `typos` 1.45.2
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12008
2026-05-05 10:41:23 -04:00
Kitware Robot
d78407d434 CMake Nightly Date Stamp 2026-05-05 00:06:11 -04:00
Brad King
f95c3c1ac0 ci: Update Clang HIP/CUDA wrappers for C++ 26 with libstdc++ 16 on Fedora 44 2026-05-04 19:42:22 -04:00
Brad King
22a0b461dc ci: use Fedora 44 images and environments 2026-05-04 19:42:22 -04:00
Brad King
33421d31e3 ci: update Fedora base images to Fedora 44
Also update to typos 1.45.2.
2026-05-04 19:42:21 -04:00
Brad King
5182cd415d ci: Update to BullseyeCoverage 9.25.1 2026-05-04 19:42:21 -04:00
Brad King
2c3a9fcabe clang-tidy module: Update to build against LLVM/Clang 22
Update for LLVM/Clang commit `91cdd35008e9` ([clang] Improve nested name
specifier AST representation, 2025-08-09), which removed dedicated
`ElaboratedType` nodes in favor of storing the elaborated keyword and
name qualifier in separate nodes for the underlying type.
2026-05-04 19:42:07 -04:00
Brad King
e9b6b15082 clang-tidy: ignore warnings new in version 22
These warnings can be fixed in the future.  Ignore them for now.
2026-05-04 18:58:59 -04:00
Brad King
9207cccc00 clang-tidy: fix modernize-make-unique lint 2026-05-04 18:58:59 -04:00
Brad King
859c541be8 pre-commit: update to typos 1.45.2 2026-05-04 18:58:59 -04:00
Brad King
460871b8b7 CTestCustom: Ignore gcc optimizer warning in its own std lib 2026-05-04 18:58:56 -04:00
Brad King
8386ae08e1 LexerParser: Suppress gcc -Wunused-but-set-variable in generated code 2026-05-04 11:20:00 -04:00
Brad King
50e35d69c0 cmStringAlgorithms: Avoid -Wmaybe-uninitialized in cmAlphaNum constructor
The `string_view` constructor does not dereference its pointer before
we initialize the data, but the compiler doesn't know that.
2026-05-04 11:20:00 -04:00
Brad King
0c5bebf0ae cmSystemTools: Suppress clang-analyzer false positive
`clang-analyzer` cannot see that a moved-from value is re-assigned
via an output argument.
2026-05-04 11:20:00 -04:00
Eduard Voronkin
05ac9db640 FASTBuild: use UnityInputExcludedFiles for unity skips
Prefer it over `UnityInputIsolatedFiles` to enable caching for the
files.

Fixes: #27784
2026-05-04 11:00:38 -04:00
Brad King
12e6c14e69 PellesC: Add default -Ze flag to support compilation against Windows APIs
The Pelles C compiler requires MS extensions to support `__declspec`
and other constructs needed to use Windows APIs.  Unfortunately the
flag also disables standard definitions, so restore them.

Issue: #21536
Co-authored-by: Serguei E. Leontiev <leo@sai.msu.ru>
2026-05-04 10:47:08 -04:00
Brad King
1c4ef7291f Merge topic 'cmake-diagnostics-doc'
95f7f84609 Help: Fix CMD_INSTALL_ABSOLUTE_DESTINATION documentation
a882ec84ec cmDocumentation: Add diagnostics
97d13c3053 Help: Improve diagnostics documentation
3cccce8ca2 Help: Add developer documentation for new diagnostics
ffe4c2a8ff Help: Fix developer documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !11996
2026-05-04 10:32:28 -04:00
Brad King
3758f44d6e Merge topic 'arma-cleanup'
3f8daf0f1c FindArmadillo: Remove unnecessary setting of ARMADILLO_LIBRARY to empty

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12001
2026-05-04 10:27:52 -04:00
Brad King
7a5f1af235 Merge topic 'exe-result'
40ef8fd781 ProcessorCount: Tolerate CMAKE_EXECUTE_PROCESS_COMMAND_ERROR_IS_FATAL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11998
2026-05-04 10:25:11 -04:00
Brad King
871c7bcec2 Merge topic 'ctest-llvm-cov'
a7780d1b9c ctest: Add a `CoverageTool` setting to enable integration with `llvm-cov`
870d7d7cbe ctest: Introduce CTestDirectory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11891
2026-05-04 10:21:12 -04:00
Brad King
b3bbaf50b2 Merge branch 'release-4.3' 2026-05-04 10:10:10 -04:00
Brad King
ac04c630e9 Merge topic 'vs-fortran'
ec06d16178 cmSourceGroup: Constify clients
f513867bc4 VS: Fix regression causing source accumulation across Fortran projects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11999
2026-05-04 10:10:10 -04:00
Brad King
0f55e1502c Merge topic 'vs-fortran' into release-4.3
ec06d16178 cmSourceGroup: Constify clients
f513867bc4 VS: Fix regression causing source accumulation across Fortran projects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11999
2026-05-04 10:10:06 -04:00
Marc Chevrier
8e6eec8125 FILE_SET: add JOB_POOL_COMPILE property support 2026-05-04 11:10:01 +02:00
Marc Chevrier
f18ba89862 FILE_SET: add SKIP_LINTING property support 2026-05-04 10:16:06 +02:00
Kitware Robot
4cf5bc2a85 CMake Nightly Date Stamp 2026-05-04 00:06:32 -04:00
Kitware Robot
4cb93fdab6 CMake Nightly Date Stamp 2026-05-03 00:07:01 -04:00
Kitware Robot
fd823e8f9f CMake Nightly Date Stamp 2026-05-02 00:04:58 -04:00
Mickaël Germain
15340d6a96 list(FILTER): Add PREDICATE mode 2026-05-01 18:55:07 -07:00
Mickaël Germain
c7af6e94d8 list(TRANSFORM): Add PREDICATE selector
Add a new `PREDICATE` selector to `list(TRANSFORM)` that uses a
user-defined function or macro to decide which elements to transform.

The predicate callable receives each element value and an output
variable name.  It must set the output variable to a truthy or falsy
value in PARENT_SCOPE; only elements for which the predicate returns
true are passed to the transform action.

Adds a shared PredicateEvaluator helper class used by both TRANSFORM
PREDICATE and (in a subsequent commit) FILTER PREDICATE.

Includes parser wiring, error and success tests covering all existing
actions (TOUPPER, TOLOWER, REPLACE, STRIP, GENEX_STRIP, APPEND,
PREPEND, APPLY) combined with the PREDICATE selector.

Issue: #27761
2026-05-01 18:54:53 -07:00
Matthew Woehlke
91e81bf262 Diagnostics: Ensure correct ordering
Create a constexpr function that recursively validates that [a portion
of] the diagnostics tree is in proper depth-first order. Use this to
ensure at compile time that the diagnostics are, in fact, in the correct
order. This will make it harder to accidentally introduce order errors,
since any C++17 build will throw a compile error if the list is not
correctly ordered.
2026-05-01 14:49:11 -04:00
Ryan Curtin
3f8daf0f1c FindArmadillo: Remove unnecessary setting of ARMADILLO_LIBRARY to empty
This is not a typical pattern for find modules, and it breaks subsequent
calls to `find_package(Armadillo)`.

See also commit 38c6dd7b19 (FindArmadillo: Add support for non-wrapper
case, 2020-03-02, v3.18.0-rc1~594^2) and commit 6745af99c8 (FindArmadillo:
Fix wrapper linking with MSVC, 2025-02-05, v4.0.0-rc1~53^2).
2026-05-01 14:24:27 -04:00
Matthew Woehlke
700f64cfb9 cmDiagnostics: Fix typo in source documentation 2026-05-01 13:56:57 -04:00
Richard
654a195d8b presets: Improve error diagnostics
Include the preset type when emitting generic error messages,
which avoids confusion over which preset is presenting problems
(e.g., if you you have a preset called "default" in each of the
configure, build, test, package and workflow preset types).

Include additional information about the specific error encountered
when processing a preset.

Fixes: #27774
2026-05-01 13:18:42 -04:00
Tyler Yankee
c6e81bf30e Help/presets: Disallow empty env keys in build presets also
Build presets have a non-standard environment variable definition in
the schema yaml since they need extra Sphinx content. However, it was
missing the rule to disallow empty keys that the base environment
variable definition has.
2026-05-01 13:18:41 -04:00
Matthew Woehlke
95f7f84609 Help: Fix CMD_INSTALL_ABSOLUTE_DESTINATION documentation
CMD_INSTALL_ABSOLUTE_DESTINATION is a child of CMD_AUTHOR, but this was
not noted in the documentation. Add the missing annotation.
2026-05-01 13:00:10 -04:00
scivision
40ef8fd781 ProcessorCount: Tolerate CMAKE_EXECUTE_PROCESS_COMMAND_ERROR_IS_FATAL
Fixes: #27780
Issue: #27782
2026-05-01 11:36:31 -04:00
Serguei E. Leontiev
9db2cf5429 PellesC: Add default compilation and link flags
Specify debug symbols and optimization flags for each configuration.

Issue: #21536
2026-05-01 11:28:49 -04:00
Brad King
ec06d16178 cmSourceGroup: Constify clients
The generators do not need to modify the groups.
2026-05-01 10:43:32 -04:00
Brad King
f513867bc4 VS: Fix regression causing source accumulation across Fortran projects
Since commit de2afc5d53 (cmMakeFile: Remove source groups argument from
`FindSourceGroup`, 2025-11-07, v4.3.0-rc1~414^2~2) we share source group
assignments across targets to avoid copying and repeated work.  However,
the VS 7 generator, still used for Fortran, relies on per-target
per-group source lists.  Build them specifically for that case.

The deprecated Eclipse CDT4 extra generator had the same regression,
so fix it too.

Fixes: #27779
2026-05-01 10:42:55 -04:00
Brad King
0f30e0fe1c Help: Fix indentation of list(FILTER) docs 2026-05-01 09:47:12 -04:00
Brad King
096a676d13 Merge topic 'presets-file-arg'
95edd93948 presets: Support loading from arbitrary file
81c22a67b6 presets: Factor out command line arguments
e75b62fd73 presets: Convert allowNoFiles to enum class
8476469b72 Help: Add cmake-workflow-option role
5e76987626 Help/presets: Use preset role for configurePreset references
2d8e8213d4 Help/presets: Improve include field formatting
43f5fc8ac8 Help, Tests: Consolidate presets terminology and references
c49ebb67da Help: Use POSIX slashes for 'generated by' in presets files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11886
2026-05-01 09:22:20 -04:00
Kyle Edwards
2aefa92f55 Merge topic 'findcudatoolkit-sanitizer-path-fix'
a83b2de6ce FindCUDAToolkit: Fix search for sanitizer in cross-compilation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !11995
2026-05-01 08:23:20 -04:00