Commit Graph
77367 Commits
Author SHA1 Message Date
Brad King e587ecb673 Merge topic 'doc-asm-att'
301307e4b8 Help: Add short description for ASM-ATT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12537
2026-09-23 09:44:57 -04:00
Kitware Robot de8a69ce2d CMake Nightly Date Stamp 2026-09-23 00:05:37 -04:00
Brad King ec85176fbe Merge topic 'if-RULE-operator'
d4dc18c01b if() command: add RULE operator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12529
2026-09-22 10:16:47 -04:00
Tyler Yankee 301307e4b8 Help: Add short description for ASM-ATT 2026-09-22 10:15:18 -04:00
Brad King d37a1fc335 Merge topic 'automoc-predefs-msvc'
7c3ca57b91 MSVC,Clang: Set CMAKE_CXX_COMPILER_PREDEFINES_COMMAND for the MSVC ABI
0fd711348c Autogen: Pass WIN32 to moc when targeting the MSVC ABI
4a4a654814 Autogen: Keep stderr out of the generated moc_predefs.h
1c1258ad95 cmWorkerPool: Allow capturing process stderr separately

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !12517
2026-09-22 10:14:46 -04:00
Brad King 6e1b603032 Merge topic 'cmctg-launcher-vector-cleanup'
721eb8a5a2 cmCommonTargetGenerator: Improve launcher shell conversion
bf1a2de409 cmCommonTargetGenerator: Improve style

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12528
2026-09-22 10:08:26 -04:00
Brad King 2020c66db9 Merge topic 'ctest-fixture-repeat'
5cced02b9d CTest: Repeat test fixtures with the tests that require them
4fcf3dd296 CTest: Ignore a checkpoint entry for a test that is not pending
32b25b94d6 CTest: Track one run number for a repeating test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !11638
2026-09-22 10:01:43 -04:00
Brad King 3a8d7c8e8c Merge topic 'new-fuzzer-3'
8932f356bd OSS-Fuzz: Add new fuzzer targets pkg Config Resolver

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Vito Gamberini <vito.gamberini@kitware.com>
Merge-request: !12531
2026-09-22 09:58:04 -04:00
Brad King 7bf7964905 Merge topic 'emit_deprecate_wawrning_on_h_cmd_arg'
00388f8576 cmake-cli: Deprecate -H

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12520
2026-09-22 09:55:26 -04:00
Brad King b469bddbfc Merge topic 'clang-tidy-fix-warning'
92ac288113 clang-tidy: fix module warnings for LLVM 22

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12526
2026-09-22 09:53:51 -04:00
Brad King 2bee290f5e Merge branch 'release-4.4' 2026-09-22 09:39:45 -04:00
Brad King 0d570939b8 Merge topic 'export-ignore-pvs-config'
7abae1fc24 gitattributes: Do not export pvs-studio config in source archives

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12532
2026-09-22 09:39:45 -04:00
Brad King 76395764c7 Merge topic 'export-ignore-pvs-config' into release-4.4
7abae1fc24 gitattributes: Do not export pvs-studio config in source archives

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12532
2026-09-22 09:39:43 -04:00
Kitware Robot 509ac6160a CMake Nightly Date Stamp 2026-09-22 00:06:57 -04:00
Arthur Chan 8932f356bd OSS-Fuzz: Add new fuzzer targets pkg Config Resolver
Signed-off-by: Arthur Chan <arthur.chan@adalogics.com>
2026-09-21 18:02:35 -04:00
Brad King 7abae1fc24 gitattributes: Do not export pvs-studio config in source archives
This was missed in commit 3748deda58 (pvs-studio: Add .pvsconfig
exclusion file, 2026-04-27, v4.4.0-rc1~244^2~2).
2026-09-21 17:57:30 -04:00
Robert Maynard 00388f8576 cmake-cli: Deprecate -H
Fixes: #18341
2026-09-21 14:35:51 -04:00
Tyler Yankee 721eb8a5a2 cmCommonTargetGenerator: Improve launcher shell conversion
Encapsulate the shell escaping logic in `cmCommonTargetGenerator` and
represent launchers via a vector of strings (as is done with custom
commands, execute process commands, etc.) to make them easier to work
with.

This facilitates work in a future commit which will reuse this pathway.

Issue: #27598, #27402
2026-09-21 13:45:54 -04:00
Brad King 90e71f4286 Merge branch 'release-4.4' 2026-09-21 13:43:28 -04:00
Brad King b75a8d76ae Merge branch 'release-4.3' 2026-09-21 13:43:26 -04:00
Brad King 03c6ed2d65 Merge branch 'release-4.3' into release-4.4 2026-09-21 13:43:20 -04:00
Brad King 2ad6bcbb08 Merge branch 'release-4.4' 2026-09-21 13:41:59 -04:00
Brad King 106b5b5fd7 Merge topic 'cmp0210-trycompile-policy-order'
af7a370bf1 Merge branch 'backport-4.3-cmp0210-trycompile-policy-order'
92320466dd try_compile: Restore platform-default link flags in pre-CMP0210 projects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12525
2026-09-21 13:41:59 -04:00
Brad King f511735756 Merge topic 'cmp0210-trycompile-policy-order' into release-4.4
af7a370bf1 Merge branch 'backport-4.3-cmp0210-trycompile-policy-order'
92320466dd try_compile: Restore platform-default link flags in pre-CMP0210 projects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12525
2026-09-21 13:41:57 -04:00
Brad King 2d3d4fd85a Merge topic 'backport-4.3-cmp0210-trycompile-policy-order' into release-4.3
92320466dd try_compile: Restore platform-default link flags in pre-CMP0210 projects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12525
2026-09-21 13:40:54 -04:00
Marc Chevrier d4dc18c01b if() command: add RULE operator 2026-09-21 18:10:48 +02:00
Tyler Yankee bf1a2de409 cmCommonTargetGenerator: Improve style 2026-09-21 11:55:37 -04:00
Brad King af7a370bf1 Merge branch 'backport-4.3-cmp0210-trycompile-policy-order' 2026-09-21 11:47:20 -04:00
Brad King c512ae97ce Merge topic 'custom-rule-support'
386d1d874c Add support of custom rules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12361
2026-09-21 11:40:22 -04:00
Mickaël Germain 92320466dd try_compile: Restore platform-default link flags in pre-CMP0210 projects
The CMP0210 compatibility shims in the Darwin, AIX, HP-UX and ARMClang
modules read the policy with cmake_policy(GET CMP0210 ...) during
enable_language(), which runs inside project().  cmCoreTryCompile emitted
cmake_policy(SET CMP0210 ...) after project() in the generated test
project, so those shims always observed NEW regardless of the calling
project's setting.

On affected platforms this dropped the platform default link flags from
every try_compile, and left a toolchain-file value of
CMAKE_<LANG>_LINK_FLAGS unclobbered so that it reached the OLD code path.
For projects that are also not using CMP0181 NEW, that path uses the
variable as is and does not expand the LINKER: prefix.

Move the emission into the existing pre-project() policy block alongside
CMP0126, CMP0128 and CMP0197, which exist for exactly this reason.

Fixes: #28102
2026-09-21 11:35:38 -04:00
Brad King da84a029d3 Merge branch 'release-4.4' 2026-09-21 11:28:32 -04:00
Brad King 0b9b66d056 Merge topic 'test-langs-launchers'
584a9297c0 CUDA, HIP: Restore support for LINKER_LAUNCHER
aeb7c3295d Merge branch 'backport-test-langs-launchers' into test-langs-launchers
b63bcda722 CUDA, HIP: Revert false support for LINKER_LAUNCHER

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !12519
2026-09-21 11:28:32 -04:00
Brad King f358dacee8 Merge topic 'test-langs-launchers' into release-4.4
b63bcda722 CUDA, HIP: Revert false support for LINKER_LAUNCHER

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !12519
2026-09-21 11:28:30 -04:00
Kitware Robot 916ff39d46 CMake Nightly Date Stamp 2026-09-21 00:05:58 -04:00
Marc Chevrier 386d1d874c Add support of custom rules
Fixes: #27383
2026-09-20 11:43:10 +02:00
AJIOB 92ac288113 clang-tidy: fix module warnings for LLVM 22 2026-09-20 06:12:52 +00:00
Kitware Robot 7003e53f72 CMake Nightly Date Stamp 2026-09-20 00:05:38 -04:00
Kitware Robot 8683efde41 CMake Nightly Date Stamp 2026-09-19 00:05:32 -04:00
Taylor Braun-JonesandTyler Yankee 5cced02b9d CTest: Repeat test fixtures with the tests that require them
When ctest repeats tests with its --repeat option, it repeats each test
on its own.  A fixture's setup and cleanup tests therefore run all of
their repetitions back to back, and the tests they bracket repeat inside
a single setup/cleanup pair:

  setup -> setup -> test -> test -> cleanup -> cleanup

Add a FIXTURE_REPEAT_MODE test property to select how a fixture behaves
when its tests are repeated:

* AROUND_ALL_REPEATS: the fixture runs once, around all repetitions of
  the tests requiring it.
* AROUND_EACH_REPEAT: the fixture and the tests requiring it repeat
  together, so every repetition gets a fresh setup and its own cleanup.
* EACH_TEST_SEPARATELY: every test repeats on its own, as before.

The property describes the fixture rather than the test carrying it, so
setting it on any one of a fixture's setup or cleanup tests is enough.

In AROUND_EACH_REPEAT mode the tests of a fixture form a repeat group that
ctest re-queues as a whole once every test in it has finished.  The --repeat
condition then applies to the group the way it applies to an individual
test: until-fail repeats while the whole group passes, until-pass repeats
while any of it does not, and after-timeout repeats while any of it times
out.  Fixtures that share a test repeat together, so a test requiring two of
them still runs once per repetition.

A group is recorded the way a repeating test is: only once it stops
repeating, and with the results of its last repetition.  A group that
until-pass makes pass therefore reports a pass rather than the failure that
made it repeat, a test that DEPENDS on one of the group's tests waits for
the last repetition rather than the first, and `ctest -F` resumes an
interrupted group by running it again from the beginning.

Fixtures that repeat together have to agree on the mode: a test cannot
repeat with one fixture but not with another it takes part in, and a fixture
whose setup and cleanup tests disagree has no coherent behavior.  Report an
error and run nothing in those cases rather than pick an order in which a
test repeats after a fixture it requires has been cleaned up.

Add policy CMP0224 to select AROUND_EACH_REPEAT as the default for fixtures
whose setup and cleanup tests choose no mode themselves.  Record the mode
the policy chose in the generated test file under its own
_CMAKE_DEFAULT_FIXTURE_REPEAT_MODE keyword, so that ctest reads a mode
rather than the policy settings behind it, and so that a mode requested on
one of a fixture's tests wins over the default recorded for its siblings.
Only NEW needs recording: with nothing recorded, ctest already uses the
behavior of CMake 4.4 and below.  Fixtures are common, and the choice of
mode matters only to those who run ctest --repeat, so warn about the unset
policy only when the CMAKE_POLICY_WARNING_CMP0224 variable asks for it.

discover_tests() and gtest_discover_tests() create their tests while ctest
runs or at build time, too late for the policy to reach them, so carry the
setting in effect at their call sites through to the tests they create.

Report the repetition a grouped test belongs to in the "(run N/M)" suffix
of its "Start" line, as ctest already does for a test repeating on its own.

Co-authored-by: Tyler Yankee <tyler.yankee@kitware.com>
Fixes: #21438
2026-09-18 08:29:28 -04:00
Taylor Braun-Jones 4fcf3dd296 CTest: Ignore a checkpoint entry for a test that is not pending
CheckResume() reads the checkpoint `ctest -F` resumes from and removes each
test it names.  RemoveTest() erased the iterator std::find returned without
checking it, so a checkpoint naming a test the current run does not have
pending -- one written before the test list changed, say -- erased the end
iterator of a std::list, which is undefined behavior.  Skip such an entry
instead.
2026-09-18 08:28:42 -04:00
Taylor Braun-Jones 32b25b94d6 CTest: Track one run number for a repeating test
cmCTestRunTest counted the repetitions of a test with two members whose
meaning overlapped: how many runs were left, and how many there were in
total.  The "(run N/M)" suffix then had to recover N by subtracting one
from the other, and the rule deciding which run prints the "completed/total"
prefix read as a pair of conditions on the remaining count.

Count up instead.  Keep the number of the run being made and the number of
runs the test may be given, and let the rule say which run the prefix
belongs to.
2026-09-18 08:28:41 -04:00
Brad King 670f62d10d Merge topic 'cmake_path-empty-prefix'
7192a2b798 cmake_path: An empty path is not a prefix of any path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12493
2026-09-18 08:16:12 -04:00
Brad King 6016b9d793 Merge topic 'fortran-preprocess-upper'
ff39abb378 Fortran: Teach lexer about Intel's upper-case preprocessor directives

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12521
2026-09-18 08:14:20 -04:00
Brad King f9ae489598 Merge topic 'cdash-instrumentation-proc-metrics'
01fa1984e5 instrumentation: Send processMetrics data to CDash
68e2a3e793 instrumentation: Rename userTime and systemTime fields to exclude units

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Tyler Yankee <tyler.yankee@kitware.com>
Merge-request: !12514
2026-09-18 08:11:50 -04:00
Brad King 50b4f2f8bb Merge topic 'instrumentation-test-fix-spam'
ff48c8d4d2 Tests/Instrumentation: Fix exponential output spam from validate_json_schema

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !12515
2026-09-18 08:10:10 -04:00
Brad King 18fac8b212 Merge topic 'compiler-binutils'
047c617a77 Modules/Compiler: Prefer companion tools adjacent to compiler
ccf42522b8 Modules/Compiler: Improve formatting of code finding companion tools

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !12510
2026-09-18 08:09:00 -04:00
Brad King fb4bab8ee5 Merge topic 'ninja-codegen-deps-fix'
2d85779126 Ninja: Account for explicit target dependencies via CODEGEN

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12512
2026-09-18 08:07:25 -04:00
Brad King 6f03832272 Merge topic 'install-args-move'
789138ae3d install(TARGETS): Avoid copying command arguments internally

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12516
2026-09-18 08:04:20 -04:00
Brad King 9a47243f88 Merge branch 'release-4.4' 2026-09-18 08:01:43 -04:00
Brad King 653cac1ebf Merge topic 'doc-interface-dash'
0871947862 Help: Remove spurious hyphen from cmake-buildsystem(7) references
ba67e946eb Help/INTERFACE_LINK_DEPENDS: Reference genexes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12518
2026-09-18 08:01:43 -04:00