Commit Graph
15842 Commits
Author SHA1 Message Date
Brad King 3f8ac3f758 Merge topic 'impr-cpack-rpm'
41500ba575 CPack/RPM: avoid `ls -la` process fork in tests
963a022782 CPack/RPM: wrap some too long lines
17a39084c2 CPack/RPM: some other simplifications
0966151c73 CPack/RPM: modernize file and path operations
16407d6934 CPack/RPM: escape regex in the modern way
9ed6106a27 CPack/RPM: remove redundant quotes and variable expansions
d7701b758b CPack/RPM: use list transform instead of string manipulations
fd321c02c5 CPack/RPM: `ls -la` execution + parse → `file(READ_SYMLINK)`
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11746
2026-03-04 09:25:54 -05:00
Brad King 55efa969a8 Merge topic 'doc-semicolon-list'
01e306dbde Help: Prefer spelling out 'semicolon-separated list'

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11762
2026-03-03 17:03:26 -05:00
Alex Turbov 963a022782 CPack/RPM: wrap some too long lines 2026-03-03 21:42:47 +04:00
Alex Turbov 17a39084c2 CPack/RPM: some other simplifications 2026-03-03 21:42:47 +04:00
Alex Turbov 0966151c73 CPack/RPM: modernize file and path operations 2026-03-03 21:42:47 +04:00
Alex Turbov 16407d6934 CPack/RPM: escape regex in the modern way 2026-03-03 21:42:46 +04:00
Alex Turbov 9ed6106a27 CPack/RPM: remove redundant quotes and variable expansions 2026-03-03 21:42:38 +04:00
Alex Turbov d7701b758b CPack/RPM: use list transform instead of string manipulations 2026-03-03 21:41:52 +04:00
Alex Turbov fd321c02c5 CPack/RPM: ls -la execution + parse → file(READ_SYMLINK) 2026-03-03 21:41:52 +04:00
Alex Turbov 8549727ff4 CPack/RPM: use the modern return(PROPAGATE…) 2026-03-03 21:41:52 +04:00
Alex Turbov 2fe2665541 CPack/RPM: execute stat to get permissions instead of ls -l
Ask `stat` to output only human-readable permissions and nothing else.
Secondly, simplify parsing algorithm. Instead of multiple regex matches
transform permissions into a list and split into groups.
2026-03-03 21:41:52 +04:00
Tyler Yankee 01e306dbde Help: Prefer spelling out 'semicolon-separated list'
Fixes: #27663
2026-03-03 09:27:44 -05:00
Brad King aff0829030 Merge topic 'import-std-windows-path'
aac53316e8 c++modules: Fix clang `*.modules.json` path on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11759
2026-03-03 09:21:16 -05:00
Michael Ferrari aac53316e8 c++modules: Fix clang *.modules.json path on Windows
Before it would result in us writing the unescaped backslashes to
`CMakeCXXCompiler.cmake` resulting in invalid escape characters causing
the configure to error out.
2026-03-02 10:23:22 -05:00
Brad King 041d48a570 Merge topic 'FindPython-sysconfig-paths-in-CMake-format'
a207af22e5 FindPython: Ensure sysconfig paths are in CMake format

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11747
2026-03-02 09:36:59 -05:00
Brad King 6fcbe8d450 Merge topic 'FindPython-sysconfig-paths-in-CMake-format' into release-4.3
a207af22e5 FindPython: Ensure sysconfig paths are in CMake format

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11747
2026-03-02 09:36:57 -05:00
Alex Turbov 6445447692 CPack/RPM: modernize foreach calls to use IN LISTS/ITEMS 2026-02-28 02:27:38 +04:00
Brad King eaecd6445b Merge topic 'import-std-experimental'
c1d58d3f3d Experimental: Restore `import std` gate
2e29354040 Experimental: Restore documentation link to CPS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !11745
2026-02-27 08:28:52 -05:00
Marc Chevrier a207af22e5 FindPython: Ensure sysconfig paths are in CMake format
Fixes: #27648
2026-02-27 14:07:04 +01:00
Brad King c1d58d3f3d Experimental: Restore import std gate
Several problems with this feature came up while testing 4.3.0-rc1.
These include both broken stdlib distributions and regressions in our
implementation of the feature since CMake 4.2.

Revert commit 70c1f0f43d (Experimental: Remove import std experimental
gate, 2026-02-04, v4.3.0-rc1~61^2) except for its incidental fixes.

Remove the 4.3 release notes related to `import std`.

Rotate the experimental gate's UUID.

Issue: #27426
Issue: #27597
Issue: #27626
Issue: #27635
2026-02-26 17:19:19 -05:00
Brad King e35eb114aa Merge topic 'windows-avoid-short-paths'
d314cad7f1 Ninja,Make,FASTBuild: Avoid unnecessary Windows short paths in placeholders
8099fe4436 CMakeParseImplicitLinkInfo: Fix detection of MSVC link.exe from quoted path
c211b5b7f3 Makefile: Pass includes response file using native path style
728b8b34c2 IAR: Fix `ichecks` invocation on Windows when not using short paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11717
2026-02-25 09:10:04 -05:00
Craig Scott 538c1b5d50 Merge topic 'googletest-listseparator'
e06169bdd0 GoogleTest: Add LIST_SEPARATOR for properties
dc26cdf9a9 GoogleTest: Fix unit test arg parsing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11562
2026-02-24 16:29:00 -05:00
Brad King c6e9228711 Merge topic 'FindVulkan-arch'
5e1440302a FindVulkan: Add support for cross-compiling between Windows x64/ARM64
f9a09f76f3 FindVulkan: Drop support for 32-bit SDK on Windows
b40740f28a FindVulkan: Do not search bin directories for libraries
947adbba91 FindVulkan: Use ENV{VULKAN_SDK} only if it exists

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Francesco Giancane <fgiancan@qti.qualcomm.com>
Merge-request: !11718
2026-02-24 12:01:32 -05:00
Brad King 8099fe4436 CMakeParseImplicitLinkInfo: Fix detection of MSVC link.exe from quoted path
If the path to `link.exe` is not converted to a Windows short path,
then it may be quoted.

Issue: #16138
2026-02-24 10:53:44 -05:00
5e1440302a FindVulkan: Add support for cross-compiling between Windows x64/ARM64
The LunarG Vulkan SDK on Windows provides arch-specific library
directories for cross-compiling.  On X64 hosts it provides `-ARM64`
directories.  On ARM64 hosts it provides `-X64` directories.

It also provides arch-specific `bin` directories, but only for the
`.dll`s of the cross architecture.  We still want the plain `bin`
directory containing host-architecture executable tools.

Co-authored-by: Giancane, Francesco <fgiancan@qti.qualcomm.com>
Co-authored-by: Arnaud, Adrien <aarnaud@qti.qualcomm.com>
Tested-by: Giancane, Francesco <fgiancan@qti.qualcomm.com>
Tested-by: Arnaud, Adrien <aarnaud@qti.qualcomm.com>
2026-02-23 14:18:35 -05:00
Brad King f9a09f76f3 FindVulkan: Drop support for 32-bit SDK on Windows
This significantly simplifies the logic in preparation for ARM64
support.  It can be re-introduced later if necessary.
2026-02-23 14:18:35 -05:00
Brad King b40740f28a FindVulkan: Do not search bin directories for libraries
On Windows we need `.lib` import libraries, not `.dll` runtime binaries.
2026-02-23 14:18:35 -05:00
Brad King 947adbba91 FindVulkan: Use ENV{VULKAN_SDK} only if it exists 2026-02-23 14:18:35 -05:00
Máté Ferenc Nagy-Egri e06169bdd0 GoogleTest: Add LIST_SEPARATOR for properties 2026-02-23 18:04:51 +01:00
Brad King 1819b73086 Merge topic 'FindPython-ARCHITECTURE-handling'
51e1459947 FindPython: enhance ARCHITECTURE detection

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11716
2026-02-23 09:35:02 -05:00
Brad King 1584c644d2 Merge topic 'FindPython-ARCHITECTURE-handling' into release-4.3
51e1459947 FindPython: enhance ARCHITECTURE detection

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11716
2026-02-23 09:35:00 -05:00
Brad King f22e5032c3 Merge topic 'clarify-missing-compiler-wording'
108d86f28d Modules/*Compiler: reword errors about invalid variable settings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11715
2026-02-23 09:32:23 -05:00
Marc Chevrier 51e1459947 FindPython: enhance ARCHITECTURE detection
Fixes: #27619
2026-02-20 17:48:50 +01:00
Ben Boeckel 108d86f28d Modules/*Compiler: reword errors about invalid variable settings
The prior wording could be confusing if "compiler set" is detected as a
noun rather than "set" as a verb.

See: https://discourse.cmake.org/t/cmake-3-29-can-not-find-compiler-set-for-intel-ifx/11712
2026-02-20 09:03:23 -05:00
Brad King 369242acbc Merge topic 'doc-GenerateExportHeader'
4671e77845 GenerateExportHeader: Fix FILE_SET example BASE_DIRS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11711
2026-02-19 10:37:22 -05:00
Brad King 300f9af15c Merge topic 'doc-GenerateExportHeader' into release-4.3
4671e77845 GenerateExportHeader: Fix FILE_SET example BASE_DIRS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11711
2026-02-19 10:37:20 -05:00
Brad King 4671e77845 GenerateExportHeader: Fix FILE_SET example BASE_DIRS
In commit 12ec3270c4 (GenerateExportHeader: Extend documentation,
2025-05-06, v4.1.0-rc1~214^2) we added a `BASE_DIRS` example value using
a generator expression that cannot be correctly consumed after export.
Update the example to use `CMAKE_CURRENT_BINARY_DIR`, which is where
`generate_export_header` places the header anyway.  Also drop the
explicit `target_include_directories`, as it is not needed when
using a file set for the header.

Closes: #27620
2026-02-19 09:05:58 -05:00
Brad King 5d5435c8ce export: Increase maximum policy version in exported files to 4.2
The files generated by `install(EXPORT)`, `export()`, and
`install_jar_exports()` commands are known to work with policies
as of CMake 4.2, so enable them in sufficiently new CMake versions.
2026-02-17 16:42:58 -05:00
Alexander Neundorf 8bb0eef8e6 FASTBuild: make it work with non-US installations of MSVC
The fastbuild generator uses clui.dll directly, and assumed it is in
the 1033/ subdirectory. But this doesn't exist on non-US installations
of Visual Studio. With this patch cmake searches for clui.dll, so it can
use the correct path. If the env. var VSLANG is set, it tries that first,
then it tries 1033/ and if none of the two exists, it takes the first
one it finds.

Fixes: #27535
2026-02-16 10:33:20 -05:00
Brad King 6741ac7186 Merge topic 'nvcc_handle_env_variables_with_special_names'
37777a66e3 CUDA: Handle env variables that clash with nvcc magic keywords

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11661
2026-02-16 09:16:19 -05:00
Brad King f5a1206794 Merge topic 'fix-lexer-multiline-strings'
b88b7e7c18 Help: Fix lexing of multi-line strings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11691
2026-02-16 08:47:14 -05:00
Robert Maynard 37777a66e3 CUDA: Handle env variables that clash with nvcc magic keywords
On windows when you run `nvcc -v` all the env variables will
be printed before nvcc verbose output. This allows us to handle
the cases where env variable exists with the same name as a magic
nvcc keyword we parse
2026-02-14 15:54:46 -05:00
Matthew WoehlkeandGeorg Brandl b88b7e7c18 Help: Fix lexing of multi-line strings
Teach our CMake lexer to recognize `[[...]]` multi-line strings, as used
in some 'check source compiles/runs' examples to pass literal C/C++ code
through a CMake function. Previously, this resulted in the lexer trying
to parse such code as CMake, which is obviously incorrect. Also, use the
new `[[` syntax in more places.

Note that, because `[[...]]` can also show up in some instances denoting
optional arguments, we only consider `[[` with no `=` as a string if the
`[[` is followed by a non-identifier character. This heuristic seems to
work for most existing usages.

Co-Authored-By: Georg Brandl <georg@python.org>
2026-02-13 13:36:59 -05:00
Nilsen84 ed0f48e79b clang-cl: use gcc depfiles over /showIncludes
This enables `#embed` dependencies when using `clang-cl`.

Fixes: #27594
2026-02-13 10:44:50 -05:00
Brad King 1ebfb6cb03 Merge topic 'cmake-locale'
d284ce2fd6 Initialize character set encoding on program startup
6ec707312d Make character classification locale-independent
ea47c154e5 Make case-dependent operations locale-independent
c81909f842 Merge branch 'upstream-KWSys' into cmake-locale
5a187b69e7 KWSys 2026-02-11 (dcab76ba)
55842d16ac cmFileCommand: Adopt `file://` URL compatibility helper
6fe7acfe1d curl: Build with support for wide-character filesystem APIs on Windows
9a2ebd7f25 Tests: Add RunCMake.string case covering TOLOWER and TOUPPER with UTF-8
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Overchenko <aleksandr9809@gmail.com>
Merge-request: !11647
2026-02-11 12:39:36 -05:00
Brad King 0aa7e258d4 Merge topic 'doc-ctest-link'
01a47a790b Help: Link `CTEST_*` variables to dashboard client
12a0ebe96a Help/CTest: Improve formatting and grammar

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11677
2026-02-11 12:05:29 -05:00
Ben Boeckel 75a30136a1 c++modules: Persist CMAKE_CXX_STDLIB_MODULES_JSON
And change checks to look for a value rather than definition. This fix
keeps the same set of test cases in `RunCMake.CXXModules` selected as
before.

Fixes: #27589
2026-02-10 21:07:29 -05:00
Brad King 961ed3f2e9 Merge topic 'hip-windows-clang'
73051ad572 fix: build HIP on Windows with MSVC-style clang-cl.exe

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11663
2026-02-10 11:35:47 -05:00
Brad King b630ddef9f Merge topic 'FindBoost-1.89-1.90'
a1aa530be7 FindBoost: Add support for Boost 1.90
468873faab FindBoost: Add support for Boost 1.89

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11674
2026-02-10 11:25:52 -05:00
Tyler Yankee 12a0ebe96a Help/CTest: Improve formatting and grammar 2026-02-10 09:59:18 -05:00