1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-14 02:08:27 +08:00
Commit Graph

71117 Commits

Author SHA1 Message Date
Brad King
2f8ae28ef6 CMake 4.1.0-rc2 v4.1.0-rc2 2025-07-10 10:35:07 -04:00
Brad King
265c676445 Merge topic 'windows-kernel-mode-driver' into release-4.1
2f5dce1b40 cmExperimental: remove the flag for Windows Kernel Mode Driver support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10937
2025-07-10 10:30:23 -04:00
Brad King
cf1bf70fc2 Merge topic 'file-api-fileset-fix' into release-4.1
ea6404b9c4 FileAPI: Ignore unresolved FileSet generators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: autoantwort <leander.schulten@rwth-aachen.de>
Merge-request: !10938
2025-07-10 10:28:59 -04:00
Vito Gamberini
ea6404b9c4 FileAPI: Ignore unresolved FileSet generators
Fixes: #27054
2025-07-09 10:08:47 -04:00
Brad King
2f5dce1b40 cmExperimental: remove the flag for Windows Kernel Mode Driver support
Enable setting `CMAKE_SYSTEM_NAME` to `WindowsKernelModeDriver` without
an experimental gate.
2025-07-09 09:54:45 -04:00
Brad King
9953069215 Merge topic 'keyword-project-name-fix' into release-4.1
a38e594340 project: fix keyword argument as project name
7238c8c999 ArgumentParser: implement HasKeyword helper

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10935
2025-07-09 09:44:49 -04:00
Brad King
0e254055d6 Merge topic 'cuda-nonexistent-compiler-path' into release-4.1
bf442068bb CUDA: Improve error message for nonexistent compiler paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10933
2025-07-09 09:43:28 -04:00
Vito Gamberini
a38e594340 project: fix keyword argument as project name
Fixes: #27051
2025-07-08 18:00:00 -04:00
Vito Gamberini
7238c8c999 ArgumentParser: implement HasKeyword helper 2025-07-08 17:44:07 -04:00
Robert Maynard
bf442068bb CUDA: Improve error message for nonexistent compiler paths
Fixes: #25709
2025-07-08 09:58:37 -04:00
Brad King
b557cd0f49 Merge topic 'doc-file-api-omissions' into release-4.1
da73f6b058 Help: Add cxxModuleBmi details missing from file API and release notes
bef17abc09 Help: Add file API fileSet... fields missed in the 3.23 release notes
094436db98 Help: The fileSets item in a codemodel target object is optional
1398ef18c2 Help: Add missing backtrace property to compileCommandFragments
74d70d13cd Help: Fix repeated word in file API docs for sourceFileExtensions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10913
2025-07-07 11:18:00 -04:00
Craig Scott
da73f6b058 Help: Add cxxModuleBmi details missing from file API and release notes
Fixes: #27028
2025-07-04 11:01:15 +10:00
Craig Scott
bef17abc09 Help: Add file API fileSet... fields missed in the 3.23 release notes 2025-07-04 10:34:33 +10:00
Craig Scott
094436db98 Help: The fileSets item in a codemodel target object is optional 2025-07-04 10:34:32 +10:00
Craig Scott
1398ef18c2 Help: Add missing backtrace property to compileCommandFragments
Fixes: #27030
2025-07-04 10:34:32 +10:00
Craig Scott
74d70d13cd Help: Fix repeated word in file API docs for sourceFileExtensions 2025-07-04 10:31:34 +10:00
Brad King
567ce02d48 Merge topic 'GNUInstallDirs-cached-default' into release-4.1
5071c93a78 GNUInstallDirs: Fix regression on -DCMAKE_INSTALL_<dir>=<default>

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Cristian Le <github@lecris.me>
Merge-request: !10921
2025-07-03 13:01:25 -04:00
Brad King
63557ea7a1 Merge topic 'curl-prefill' into release-4.1
759c6fd6a1 curl: Restore configuration checks on UNIX platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10924
2025-07-03 12:59:48 -04:00
Brad King
529279ea00 Merge topic 'doc-cmake_path' into release-4.1
41488e0c41 Help: Fix cmake_path examples

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10923
2025-07-03 12:58:31 -04:00
xndcn
41488e0c41 Help: Fix cmake_path examples 2025-07-02 09:54:18 -04:00
Brad King
759c6fd6a1 curl: Restore configuration checks on UNIX platforms
In commit 0112a49bfa (curl: Set build options the way we need for CMake,
2025-06-04, v4.1.0-rc1~54^2) we enabled `_CURL_PREFILL` on many UNIX
platforms.  However, curl's default only enables prefill on Windows.

Fixes: #27045
2025-07-02 09:28:25 -04:00
Brad King
5071c93a78 GNUInstallDirs: Fix regression on -DCMAKE_INSTALL_<dir>=<default>
In commit 42dfcbf1a5 (GNUInstallDirs: Refactor LIBDIR default
calculation, 2025-03-27, v4.1.0-rc1~384^2~2) we introduced the
`_GNUInstallDirs_LIBDIR_get_default` helper and exercised code from
commit 9789f7d05e (GNUInstallDirs: Add internal helper to compute
specific defaults, 2025-03-28, v4.1.0-rc1~384^2~3) for the first time.
Fix the latter's code to update the `CMAKE_INSTALL_<dir>` cache entry
without triggering conversion of a relative path to an absolute path.

Fixes: #27027
2025-07-02 09:14:56 -04:00
Brad King
2e76b79d80 Merge topic 'clang-cl-c23' into release-4.1
9a720d96eb clang-cl: Add support for C23

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Acked-by: Raul Tambre <raul@tambre.ee>
Merge-request: !10916
2025-07-02 08:01:55 -04:00
Brad King
b920375141 Merge topic 'cps-noconfig-fix' into release-4.1
58d9950842 CPS: Fix empty configuration field on noconfig builds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10922
2025-07-02 08:00:37 -04:00
Vito Gamberini
58d9950842 CPS: Fix empty configuration field on noconfig builds
Fixes: #27044
2025-07-01 17:01:13 -04:00
Yonggang Luo
9a720d96eb clang-cl: Add support for C23
Although there is no `cl -std:c23` flag, the underlying Clang compiler
does have a C23 mode we can activate by passing `-std=c23` through a
`clang-cl` wrapper flag.

Also port the fix from commit 30139913e9 (VS: Restore support for mixing
C++23 and C in one target with clang-cl, 2024-12-09, v3.31.3~10^2).

Fixes: #27038
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Co-authored-by: Brad King <brad.king@kitware.com>
2025-07-01 11:20:56 -04:00
Brad King
49120bbf2b Merge topic 'FindBoost-1.88' into release-4.1
2bb8c6aec7 FindBoost: Add support for Boost 1.88

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10915
2025-07-01 11:18:48 -04:00
Brad King
33375efebc Merge topic 'windows-old-sdk' into release-4.1
d63d3bb606 StdIo: Fix compilation on older Windows SDK versions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Joe Snyder <joe.snyder@kitware.com>
Merge-request: !10918
2025-07-01 11:16:58 -04:00
Brad King
17d4eee742 Merge topic 'update-kwsys' into release-4.1
57a54d6314 Merge branch 'upstream-KWSys' into update-kwsys
d9c3dd3228 KWSys 2025-07-01 (660d6875)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10917
2025-07-01 11:11:35 -04:00
Brad King
dbec632706 Merge branch 'release-4.0' into release-4.1 2025-07-01 11:09:59 -04:00
Brad King
47901f3c53 Merge topic 'ctest-fix-relative-paths' into release-4.1
f98732bea8 ctest_configure: Restore handling of relative CTEST_BINARY_DIRECTORY
5a1d5fd9be ctest_start: Restore log file location for relative CTEST_BINARY_DIRECTORY

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10912
2025-07-01 11:04:02 -04:00
Brad King
84cdf061e5 Merge topic 'ctest-fix-relative-paths' into release-4.0
f98732bea8 ctest_configure: Restore handling of relative CTEST_BINARY_DIRECTORY
5a1d5fd9be ctest_start: Restore log file location for relative CTEST_BINARY_DIRECTORY

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10912
2025-07-01 10:57:56 -04:00
Brad King
57a54d6314 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2025-07-01 (660d6875)
2025-07-01 10:46:02 -04:00
KWSys Upstream
d9c3dd3228 KWSys 2025-07-01 (660d6875)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit 660d687559d491c7384ad09750eb461cd75259cf (master).

Upstream Shortlog
-----------------

Daniel Pfeifer (1):
      80ad2c25 SystemInformation: Fix linking PowrProf on case-sensitive file systems
2025-07-01 10:46:01 -04:00
Brad King
d63d3bb606 StdIo: Fix compilation on older Windows SDK versions
Define `ENABLE_VIRTUAL_TERMINAL_{INPUT,PROCESSING}` if necessary.
2025-06-30 16:51:48 -04:00
Kefu Chai
2bb8c6aec7 FindBoost: Add support for Boost 1.88
Update the list of known versions.

Run the command

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

to extract dependencies from the 1.88.0 source tree.

Dependencies differ from 1.87:

* Boost.Process now depends on Boost.Filesystem

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2025-06-30 15:26:18 -04:00
Daniel Pfeifer
f98732bea8 ctest_configure: Restore handling of relative CTEST_BINARY_DIRECTORY
In commit e52eada2c2 (cmCTestConfigureCommand: Refactor command line
construction, 2025-01-28, v4.0.0-rc1~60^2~2) we switched from the
`BuildDirectory` setting, which was always an absolute path, to
`CTEST_BINARY_DIRECTORY`.  Convert it to an absolute path too.

Fixes: #27026
2025-06-30 11:06:14 -04:00
Daniel Pfeifer
5a1d5fd9be ctest_start: Restore log file location for relative CTEST_BINARY_DIRECTORY
Extend commit 3c321b6571 (cmCTestStartCommand: Inline
InitializeFromCommand function, 2024-10-17, v4.0.0-rc1~605^2~6) to
initialize BinaryDir as an absolute path.

Issue: #27026
2025-06-30 11:03:53 -04:00
Brad King
ff28c64fdf Merge topic 'linux32-time64' into release-4.1
1b9e8f833f Linux: Compile with 64-bit time_t even on 32-bit architectures

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10908
2025-06-30 08:53:27 -04:00
Brad King
1b9e8f833f Linux: Compile with 64-bit time_t even on 32-bit architectures
Extend commit 5b10f96793 (Linux: Compile with _FILE_OFFSET_BITS=64 on
32-bit Linux, 2020-09-23, v3.19.0-rc1~112^2) to cover `time_t` too,
by compiling with `_TIME_BITS=64`.
2025-06-26 09:23:33 -04:00
Brad King
d6b06204f5 Merge branch 'release-4.0' into release-4.1 2025-06-26 09:22:23 -04:00
Brad King
c6033e7b64 Merge topic 'vs-outdated-usage' into release-4.1
bd31652e1b VS: Drop outdated usage text about appending platform to generator name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10905
2025-06-26 09:21:39 -04:00
Brad King
1a27551a46 Merge topic 'vs-outdated-usage' into release-4.0
bd31652e1b VS: Drop outdated usage text about appending platform to generator name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10905
2025-06-25 09:17:39 -04:00
Brad King
bd31652e1b VS: Drop outdated usage text about appending platform to generator name
This was missed by commit 381c446ff7 (VS: Remove support for appending a
platform to the generator name, 2024-12-13, v4.0.0-rc1~156^2).

Issue: #26481
2025-06-24 14:23:58 -04:00
Brad King
7e0e2e6aa2 CMake 4.1.0-rc1 v4.1.0-rc1 2025-06-24 13:23:35 -04:00
Brad King
e9ca1d149e Merge topic 'llvm-binutils' into release-4.1
621d21c827 BinUtils: pick LLVM variants for LLVMFlang and IntelLLVM as well

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10899
2025-06-24 10:45:32 -04:00
Brad King
c4415b6b18 Merge branch 'release-4.0' into release-4.1 2025-06-24 10:43:24 -04:00
Brad King
9c3ce7852f Merge topic 'normalize-toolchain-file' into release-4.1
c393300e2b cmake: Restore acceptance of -DCMAKE_TOOLCHAIN_FILE=//... on non-Windows
cf0f46ed85 Tests/RunCMake/CommandLine: Simplify --toolchain cases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10901
2025-06-24 10:42:34 -04:00
Brad King
872d808ed4 Merge topic 'normalize-toolchain-file' into release-4.0
c393300e2b cmake: Restore acceptance of -DCMAKE_TOOLCHAIN_FILE=//... on non-Windows
cf0f46ed85 Tests/RunCMake/CommandLine: Simplify --toolchain cases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10901
2025-06-24 10:41:01 -04:00
Brad King
c393300e2b cmake: Restore acceptance of -DCMAKE_TOOLCHAIN_FILE=//... on non-Windows
POSIX specifies that two leading slashes have implementation-defined
interpretation, so CMake 3.31 and below did not normalize away leading
double slashes.  However, most implementations simply treat a leading
`//` as just `/`, so CMake 4.0 now normalizes them away when they do not
correspond to a network path on Windows.

This change exposed that we were not normalizing `CMAKE_TOOLCHAIN_FILE`
before passing its value to `include()` the first time if it was not
passed with the `FILEPATH` or `PATH` cache entry type.  Fix that.

Fixes: #27010
2025-06-23 10:37:59 -04:00