73113 Commits

Author SHA1 Message Date
Brad King
24581cbe98 CMake 4.2.7 v4.2.7 2026-06-17 09:01:47 -04:00
Brad King
e8f0a51d6c Merge topic 'ExternalProject-env-quoting' into release-4.2
036c331b97 ExternalProject: Fix ENVIRONMENT_MODIFICATION with spaces in values

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12178
2026-06-17 08:43:11 -04:00
Brad King
f61ec311b9 Merge branch 'release-4.1' into release-4.2 2026-06-16 09:56:58 -04:00
Brad King
4a4725cc94 Merge branch 'release-4.0' into release-4.1 2026-06-16 09:56:48 -04:00
Brad King
e851a53bb8 Merge topic 'ExternalData-debug-message' into release-4.2
271e17d7ec ExternalData: Remove redundant debug message

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12171
2026-06-16 09:56:31 -04:00
Brad King
36171891a6 Merge topic 'ExternalData-debug-message' into release-4.1
271e17d7ec ExternalData: Remove redundant debug message

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12171
2026-06-16 09:56:22 -04:00
Brad King
16300ffecc Merge topic 'ExternalData-debug-message' into release-4.0
271e17d7ec ExternalData: Remove redundant debug message

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12171
2026-06-16 09:55:59 -04:00
Brad King
036c331b97 ExternalProject: Fix ENVIRONMENT_MODIFICATION with spaces in values
Fix commit e301cbffcc (ExternalProject: Set environment variables,
2025-04-09, v4.2.0-rc1~480^2) to quote arguments for ``EVAL CODE``,
used since commit cbf2daeed0 (ExternalProject: Preserve empty string
arguments, 2020-05-15, v3.18.0-rc1~99^2~1).

Fixes: #27876
2026-06-15 14:46:24 -04:00
Jakob Ronestjärna
271e17d7ec ExternalData: Remove redundant debug message 2026-06-15 11:25:03 -04:00
Brad King
f521d4c47a Merge topic 'backport-GoogleTest-value-parameters' into release-4.2
c51be9dfe9 GoogleTest: Fix regression with value parameters in discovered tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12156
2026-06-09 08:47:03 -04:00
Ottmar Zittlau
c51be9dfe9 GoogleTest: Fix regression with value parameters in discovered tests
Google Test returns parameter values for parametrized tests in two ways:

* As part of the test name - if a name_generator has been provided in
  the test this will be the generated string, otherwise gtest will just
  number all tests

* In a separate field of the json (or the text output) - this seems to
  be a byte representation of the input data if the input data cannot be
  converted to a string.

If the cmake parameter `NO_PRETTY_VALUES` to `gtest_discover_tests` has
not been set, the auto-generated test index - i.e. if no `name_generator
has been specified - is supposed to be replaced by the value parameter
from category 2 above. However, since commit 1cdceae8e3 (GoogleTest:
Parse discovered test list from JSON output if supported, 2025-05-02,
v4.2.0-rc1~533^2~2), the logic has been broken, in that the test suffix
is always replaced even though a name_generator has been configured.

Fix this by checking if the last part of the test name is an integer and
only then replace it.

Fixes: #27846
2026-06-08 10:56:01 -04:00
Brad King
6d9ccb598a Merge branch 'release-4.1' into release-4.2 2026-06-04 10:16:29 -04:00
Brad King
a216e094c1 Merge topic 'fix-cmp0186-typo' into release-4.2
01c8417cd2 Help: Fix typo in example of CMP0186

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12143
2026-06-04 10:16:17 -04:00
Brad King
dd434bc9cb Merge topic 'fix-cmp0186-typo' into release-4.1
01c8417cd2 Help: Fix typo in example of CMP0186

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12143
2026-06-04 10:15:25 -04:00
Julien Jorge
01c8417cd2 Help: Fix typo in example of CMP0186
For CMake 4.1 and above the result of

    string(REGEX REPLACE "^a" "b" result "aaaa")

is `"baaa"`, not `"abbb"`.
2026-06-04 10:14:19 -04:00
Brad King
af2c714286 Merge branch 'release-4.1' into release-4.2 2026-06-04 09:45:42 -04:00
Brad King
f62cda7a23 Merge topic 'sarif_release_notes' into release-4.2
319e3425ba Help: Add SARIF output options to 4.0 release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12137
2026-06-04 09:45:30 -04:00
Brad King
ee5b5addee Merge branch 'release-4.0' into release-4.1 2026-06-04 09:45:24 -04:00
Brad King
fbac091bed Merge topic 'sarif_release_notes' into release-4.1
319e3425ba Help: Add SARIF output options to 4.0 release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12137
2026-06-04 09:45:09 -04:00
Brad King
2f06928ee1 Merge topic 'sarif_release_notes' into release-4.0
319e3425ba Help: Add SARIF output options to 4.0 release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12137
2026-06-04 09:44:31 -04:00
Daniel Tierney
319e3425ba Help: Add SARIF output options to 4.0 release notes
These options were added in 4.0 but accidentally left out of
release notes.
2026-06-03 18:41:05 -04:00
Brad King
5bdace87ab Merge branch 'release-4.1' into release-4.2 2026-05-27 14:59:52 -04:00
Brad King
76d7e20689 Merge branch 'release-4.0' into release-4.1 2026-05-27 14:59:41 -04:00
Brad King
7cbf369a10 Merge branch 'release-3.31' into release-4.0 2026-05-27 14:59:30 -04:00
Brad King
091d8a6bb8 Merge topic 'file-download-no-ssl-fix' into release-4.2
18d5daa7f3 file(DOWNLOAD/UPLOAD): Restore support for curl built without a TLS backend

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12104
2026-05-27 14:59:15 -04:00
Brad King
d740d04f02 Merge topic 'file-download-no-ssl-fix' into release-4.1
18d5daa7f3 file(DOWNLOAD/UPLOAD): Restore support for curl built without a TLS backend

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12104
2026-05-27 14:59:06 -04:00
Brad King
9e0b8904bf Merge topic 'file-download-no-ssl-fix' into release-4.0
18d5daa7f3 file(DOWNLOAD/UPLOAD): Restore support for curl built without a TLS backend

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12104
2026-05-27 14:58:57 -04:00
Brad King
e8eda14a37 Merge topic 'file-download-no-ssl-fix' into release-3.31
18d5daa7f3 file(DOWNLOAD/UPLOAD): Restore support for curl built without a TLS backend

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12104
2026-05-27 14:58:13 -04:00
Daksh Mamodiya
18d5daa7f3 file(DOWNLOAD/UPLOAD): Restore support for curl built without a TLS backend
Since commit 38390245a2 (ctest: Require minimum TLS 1.2 by default,
2024-09-23, v3.31.0-rc1~47^2), our TLS-1.2 default fails with a curl
built without any TLS backend, causing even `file://` and `http://`
URLs to fail.  Teach CMake to recognize both ways libcurl may report
that it was built without TLS support.

Fixes: #27849
2026-05-27 13:59:01 -04:00
Brad King
cebc642318 Merge branch 'release-4.1' into release-4.2 2026-05-26 17:14:23 -04:00
Brad King
6c1ce8f994 Merge topic 'FindVulkan-volk' into release-4.2
1f0da22595 FindVulkan: Remove incorrect description of volk library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12099
2026-05-26 17:14:11 -04:00
Brad King
5c86e6bf5a Merge topic 'FindVulkan-volk' into release-4.1
1f0da22595 FindVulkan: Remove incorrect description of volk library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12099
2026-05-26 17:13:03 -04:00
NBT22
1f0da22595 FindVulkan: Remove incorrect description of volk library
The description added by commit 4376b15bae (FindVulkan: Update
documentation, 2025-04-22, v4.1.0-rc1~301^2) refers to a different
`volk` project.
2026-05-26 16:28:34 -04:00
Brad King
046f192cf1 CMake 4.2.6 v4.2.6 2026-05-21 13:31:34 -04:00
Brad King
beb23e668f Merge branch 'release-4.1' into release-4.2 2026-05-15 11:09:10 -04:00
Brad King
71b6f86e4c Merge topic 'backport-findcudatoolkit-nvml-static-dl' into release-4.2
e535411d78 FindCUDAToolkit: Link CUDA::nvml_static against DL libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12066
2026-05-15 11:07:46 -04:00
Brad King
6721f97bf4 Merge branch 'release-4.0' into release-4.1 2026-05-15 11:07:41 -04:00
Brad King
57df832e53 Merge topic 'backport-findcudatoolkit-nvml-static-dl' into release-4.1
e535411d78 FindCUDAToolkit: Link CUDA::nvml_static against DL libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12066
2026-05-15 11:07:20 -04:00
Brad King
de8acd0567 Merge branch 'release-3.31' into release-4.0 2026-05-15 11:07:07 -04:00
Brad King
2f94288d99 Merge topic 'backport-findcudatoolkit-nvml-static-dl' into release-4.0
e535411d78 FindCUDAToolkit: Link CUDA::nvml_static against DL libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12066
2026-05-15 11:06:58 -04:00
Brad King
389c58ffe3 Merge topic 'backport-findcudatoolkit-nvml-static-dl' into release-3.31
e535411d78 FindCUDAToolkit: Link CUDA::nvml_static against DL libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12066
2026-05-15 11:06:15 -04:00
Kyle Edwards
e535411d78 FindCUDAToolkit: Link CUDA::nvml_static against DL libraries 2026-05-15 10:53:15 -04:00
Brad King
9607919915 Merge topic 'emscripten-shared-libs' into release-4.2
0182611a56 Emscripten: Restore linking shared libraries with `-shared` flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12058
2026-05-14 10:45:52 -04:00
Brad King
0182611a56 Emscripten: Restore linking shared libraries with -shared flag
Prior to CMake 4.2.0, projects using the EMSDK's toolchain file while
also enabling `TARGET_SUPPORTS_SHARED_LIBS` would link shared libraries
using our default `-shared` flag plus whatever `-sSIDE_MODULE` flag
the project added, if any.  CMake 4.2.0 introduced builtin Emscripten
support, but since commit d361bf365e (Emscripten: Drop hard-coded
-sMAIN_MODULE and -sSIDE_MODULE flags, 2025-09-18, v4.2.0-rc1~146^2)
we still leave it to projects to add Emscripten-specific flags needed
to link shared libraries.

Restore the pre-4.2 behavior of adding the `-shared` flag.  In
particular, this is needed for upcoming Emscripten support for real
shared libraries.

Issue: #27240
2026-05-14 09:24:49 -04:00
Brad King
4cac69f6a2 Merge topic 'FindBoost-1.91' into release-4.2
8a4f5b0afb FindBoost: Add support for Boost 1.91

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12045
2026-05-12 09:47:08 -04:00
Brad King
8a4f5b0afb FindBoost: Add support for Boost 1.91
Update the list of known versions.

Run the command

    cmake -DBOOST_DIR=/path/to/boost_1_91_0 \
      -P Utilities/Scripts/BoostScanDeps.cmake

to extract dependencies from the 1.91.0 source tree.

Dependencies differ from 1.90:

* Boost.Iostreams no longer depends on Boost.Regex
* Boost.Log no longer depends on Boost.Regex

Fixes: #27803
2026-05-11 16:55:05 -04:00
Brad King
1734d4a482 Merge branch 'release-4.1' into release-4.2 2026-05-08 07:35:39 -04:00
Brad King
6e79c3d631 Merge topic 'gcc-implicit-libs' into release-4.2
168785c67e GCC: Fix linking mixed C and C++ binaries with GCC 16+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12027
2026-05-08 07:35:25 -04:00
Brad King
995547c765 Merge topic 'gcc-implicit-libs' into release-4.1
168785c67e GCC: Fix linking mixed C and C++ binaries with GCC 16+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12027
2026-05-08 07:34:51 -04:00
Brad King
168785c67e GCC: Fix linking mixed C and C++ binaries with GCC 16+
As of GCC 16, `gcc` implies `gcc_s_asneeded` but `g++` implies `gcc_s`.
When linking mixed C and C++ binaries, avoid listing one if the other is
already implied by the linker language.

Fixes: #27796
2026-05-07 10:41:57 -04:00