Commit Graph
39948 Commits
Author SHA1 Message Date
Kitware Robot bd2d6c8f39 CMake Nightly Date Stamp 2026-07-29 00:05:51 -04:00
Brad King 2734c4b9ca Merge topic 'update-kwsys'
503f0ba3a0 Merge branch 'upstream-KWSys' into update-kwsys
17d84a64e9 KWSys 2026-07-28 (b5fb218b)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12330
2026-07-28 09:54:58 -04:00
Brad King 503f0ba3a0 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2026-07-28 (b5fb218b)
2026-07-28 09:51:43 -04:00
Brad King 4b88240b64 Merge topic 'ctest_test-label-and'
257865e1d4 CTest: Make ctest_test() label filters multi-value (AND)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12321
2026-07-28 09:50:30 -04:00
Kitware Robot f09ac397fd CMake Nightly Date Stamp 2026-07-28 00:05:35 -04:00
Brad King 07368fab0c Merge topic 'test-include-files-genex'
63316be823 TEST_INCLUDE_FILES: Evaluate generator expressions in include paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12313
2026-07-27 10:12:30 -04:00
Brad King fb9febd270 Merge topic 'instrumentation-long-lists'
dba12b5e82 instrumentation: support long output list of files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12278
2026-07-27 10:10:54 -04:00
Brad King dffb8a0839 Merge topic 'jsonstate-fileapi'
d3ccd49eeb cmFileAPI: Use cmJSONState to read client queries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12317
2026-07-27 10:08:50 -04:00
Brad King 4727ac4908 Merge topic 'fix-mod-manifest-nested-dirs'
539b097bd8 CPS/c++modules: Use file system root as base directory for module manifests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12326
2026-07-27 10:03:44 -04:00
Brad King 0d21b63fea Merge topic 'fix-cps-private-link-deps'
c7ffbc3a26 CPS: Add package requirements for per-config link dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12324
2026-07-27 10:01:14 -04:00
Brad King 92fbd6d0e0 Merge topic 'reduce-utf-8'
96b3a4e6c7 Style: Replace some UTF-8 characters with ASCII equivalents

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12319
2026-07-27 09:56:23 -04:00
Kitware Robot 41b071e482 CMake Nightly Date Stamp 2026-07-27 00:05:38 -04:00
Vito Gamberini 539b097bd8 CPS/c++modules: Use file system root as base directory for module manifests
Fixes: #27989
2026-07-26 16:34:33 -04:00
AJIOB dba12b5e82 instrumentation: support long output list of files
Fixes: #27942
2026-07-26 23:04:22 +03:00
Kitware Robot bbe9cd4f0b CMake Nightly Date Stamp 2026-07-26 00:06:39 -04:00
Vito Gamberini c7ffbc3a26 CPS: Add package requirements for per-config link dependencies
Fixes: #27987
2026-07-25 16:09:57 -04:00
Kitware Robot d2a1521de3 CMake Nightly Date Stamp 2026-07-25 00:08:16 -04:00
Daksh Mamodiya 257865e1d4 CTest: Make ctest_test() label filters multi-value (AND)
The ctest(1) command line allows repeating -L/-LE to form an AND
filter over test labels, but the ctest_test() and ctest_memcheck()
scripting commands accepted only a single INCLUDE_LABEL/EXCLUDE_LABEL
value, so a dashboard script could not express that filter.

The label-matching engine already stores the include/exclude
expressions as vectors and applies them with AND semantics; only the
command binding was single-value.  Change both keywords to multi-value
(NonEmpty<vector<string>>) and hand the collected list straight to the
engine.  ctest_memcheck() gains the same behavior for free, since it
inherits the option set.

Fixes : #27497
2026-07-24 21:27:58 +02:00
Brad King 99ba33f9d7 Merge topic 'rapidhash'
ed7a690e83 String: Use rapidhash for hashing
bc23835e45 rapidhash: Make vendored header available to CMake sources
b6837dc4c3 rapidhash: Fix compilation as C++14 with GCC 5.5
6bf80fd430 Merge branch 'upstream-rapidhash' into rapidhash
169c604ada rapidhash 2025-07-23 (bc4b4baa)
e34e4d1a88 rapidhash: Add import script to get rapidhash v3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !12263
2026-07-24 10:04:01 -04:00
Brad King 96b3a4e6c7 Style: Replace some UTF-8 characters with ASCII equivalents 2026-07-24 09:55:14 -04:00
Brad King 019a531f18 Merge topic 'fix-synth-preproc-cxx-options'
6fb8e308df c++modules: Account for preprocessor flags in compile options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12310
2026-07-24 08:16:37 -04:00
Brad King 423d5e4ff6 Merge topic 'fix-synth-preproc-cxx-options' into release-4.4
6fb8e308df c++modules: Account for preprocessor flags in compile options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12310
2026-07-24 08:16:35 -04:00
Tyler Yankee d3ccd49eeb cmFileAPI: Use cmJSONState to read client queries
This approach will be more portable.
2026-07-24 07:47:19 -04:00
Kitware Robot 92ba7ebf12 CMake Nightly Date Stamp 2026-07-24 00:05:30 -04:00
Daksh Mamodiya 63316be823 TEST_INCLUDE_FILES: Evaluate generator expressions in include paths
The TEST_INCLUDE_FILE(S) directory properties were written verbatim into
CTestTestfile.cmake, so a $<CONFIG>-parameterized include path could not
select a per-configuration script and failed at ctest time.

Evaluate generator expressions per include entry in
cmLocalGenerator::GenerateTestFiles():

* Entries without a generator expression are emitted unchanged.
* On single-config generators a genex entry is evaluated once and
  emitted as one unconditional include.
* On multi-config generators it is evaluated for every configuration;
  a config-independent result collapses to one unconditional include,
  otherwise each non-empty per-config result is guarded by a
  CTEST_CONFIGURATION_TYPE branch, mirroring add_test().  An entry that
  evaluates to empty adds no include.

Promote cmScriptGenerator::CreateConfigTest to a public static helper so
the include guards reuse the exact add_test() config-test encoding; the
instance overloads now delegate to it.  Evaluated results are quoted via
cmScriptGenerator::Quote, while plain entries keep their raw
serialization.

Fixes: #27941
2026-07-23 18:58:04 +02:00
Tim Blechmann ed7a690e83 String: Use rapidhash for hashing
Rapidhash is a better hash function than FNV-1a (also used in some stl
implementations): it is faster and has a reduced number of hash
collisions.

Closes: #27937
2026-07-23 10:28:41 -04:00
Tim Blechmann bc23835e45 rapidhash: Make vendored header available to CMake sources 2026-07-23 10:28:35 -04:00
Vito Gamberini 6fb8e308df c++modules: Account for preprocessor flags in compile options
Fixes: #27973
2026-07-23 09:19:13 -04:00
Brad King 42da7a30a9 Merge topic 'ctest-dyn-rsrc-spec-rel-path'
4c2d06e69b CTest: Add support for relative paths in GENERATED_RESOURCE_SPEC_FILE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12265
2026-07-23 08:56:22 -04:00
Brad King b675924a64 Merge topic 'gcc-depfile-fopen'
8b653cd50c cmGccDepfileLexerHelper: Use fopen from SystemTools

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12305
2026-07-23 08:52:31 -04:00
Brad King 47e0f5da6a Merge topic 'toolchain-preset-warning'
7bc37a0561 CMAKE_TOOLCHAIN_FILE: Avoid excess reconfigures from relative paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12289
2026-07-23 08:42:32 -04:00
Brad King 7eb1890244 Merge topic 'cps-executable-import'
207c132378 CPS: Support importing executables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12294
2026-07-23 08:32:38 -04:00
Brad King 3f2c599e8b Merge topic 'fix-diagnostic-action-order'
0d36692275 Diagnostics: Fix interaction with cached state

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12312
2026-07-23 08:29:44 -04:00
Brad King 84f6f4aa64 Merge topic 'fix-diagnostic-action-order' into release-4.4
0d36692275 Diagnostics: Fix interaction with cached state

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12312
2026-07-23 08:29:42 -04:00
Brad King e46c39a40e Merge topic 'test-depends-config'
682db78943 Merge branch 'backport-test-depends-config' into test-depends-config
c31f09a1e6 CMAKE_TEST_BUILD_DEPENDS: Use config when evaluating test dependency targets
593c4ccaa6 CMAKE_TEST_BUILD_DEPENDS: Use config when evaluating test dependency targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12306
2026-07-23 08:27:48 -04:00
Kitware Robot 6d2b0e6f7e CMake Nightly Date Stamp 2026-07-23 00:05:07 -04:00
Matthew Woehlke 0d36692275 Diagnostics: Fix interaction with cached state
The prior mechanism for reconciling cached diagnostic state with updates
from presets / command-line arguments based on whether the latter
modified diagnostics from their default state did not work. This is
because alterations that would not change the state relative to the
default were not recorded, even if they would alter the state relative
to the prior (cached) state.

The best fix for this is to apply alterations on top of the cached
state, rather than trying to determine whether an alteration is
important. Unfortunately, the only way to do this is to defer
alterations until after we can load the cache, which somewhat defeats
one of the original goals of reducing the number of mechanisms by which
alterations are recorded.

Modify how we handle diagnostic alterations to map them through a helper
function, which either defers them (in Project mode) or acts as a
pass-through (applying the changes immediately, in all other modes).
While this does, as noted, introduce another means of storing
diagnostics, this new storage effectively consists of a list of deferred
function calls, rather than a unique format for recording changes, which
is what we had prior to the Great Refactor.
2026-07-22 15:29:59 -04:00
Arha Gatram 4c2d06e69b CTest: Add support for relative paths in GENERATED_RESOURCE_SPEC_FILE 2026-07-22 09:49:28 -07:00
Aiden Woodruff 7bc37a0561 CMAKE_TOOLCHAIN_FILE: Avoid excess reconfigures from relative paths
Save original input value of CMAKE_TOOLCHAIN_FILE also before
normalization or relative searching to avoid reconfiguring because the
full path doesn't match the input. Tests correct behavior avoiding
reconfigures and ensuring reconfigure on toolchain change from preset.

Fixes: #24942
2026-07-22 11:53:05 -04:00
Brad King f2dcada8ac Merge topic 'boringssl-3-curl'
15266bf2a4 Utilities: Avoid OpenSSL version check under forks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !12304
2026-07-22 11:34:26 -04:00
Brad King fcd200ab3b Merge topic 'diagnose-deprecated-commands'
75161b34b6 bootstrap: Remove deprecated commands
664eb8412a cmake: Don't use deprecated commands to build
3745af331a Add deprecation diagnostics to deprecated commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12277
2026-07-22 11:27:01 -04:00
Brad King 5868009096 Merge topic 'ctest-windows-jobserver-client'
79331d5865 CTest: Add Windows job server client

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12297
2026-07-22 11:23:38 -04:00
Vito Gamberini 207c132378 CPS: Support importing executables
Fixes: #27964
2026-07-22 10:45:59 -04:00
Martin Duffy c31f09a1e6 CMAKE_TEST_BUILD_DEPENDS: Use config when evaluating test dependency targets
Fixes: #27979
2026-07-22 10:41:30 -04:00
Martin Duffy 593c4ccaa6 CMAKE_TEST_BUILD_DEPENDS: Use config when evaluating test dependency targets
Fixes: #27979
2026-07-22 10:17:54 -04:00
Brad King 697df9a12a Merge topic 'vs-clangcl-modules'
027b962a81 VS: Avoid unsupported ScanSourceForModuleDependencies under ClangCl

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Vito Gamberini <vito.gamberini@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !12301
2026-07-22 09:55:45 -04:00
Tyler Yankee 8b653cd50c cmGccDepfileLexerHelper: Use fopen from SystemTools
Delegate to SystemTools for portability and consistency with the rest
of the code base.
2026-07-22 09:30:00 -04:00
Kitware Robot 0f5dcc887a CMake Nightly Date Stamp 2026-07-22 00:10:38 -04:00
Tyler Yankee 15266bf2a4 Utilities: Avoid OpenSSL version check under forks
When finding BoringSSL, LibreSSL, or AWS-LC, version information may be
unavailable. Amend commit 54686cae64 (Utilities: Require OpenSSL >=
3.0.0 at configure time, 2026-06-26) by using the checks from upstream
curl to only error if we're using OpenSSL proper.

Fixes: #27978
2026-07-21 18:51:08 -04:00
Tyler Yankee 027b962a81 VS: Avoid unsupported ScanSourceForModuleDependencies under ClangCl
As of commit ed48feeae8 (clang-cl: Add support for C++ modules,
2026-03-27, v4.4.0-rc1~428^2) CMake tries to support modules for
clang-cl, which can mostly be accomplished, except for the ClangCl VS
toolset, where the /scanDependencies flag is not yet supported.

Amend commit 3022f0363f (VS: set ScanSourceForModuleDependencies at
vcxproj level, 2024-04-27, v3.28.5~3^2) to only emit this setting when
scanning is supported by the toolchain.

Fixes: #27957
Issue: #27977
2026-07-21 17:02:29 -04:00