Commit Graph

72150 Commits

Author SHA1 Message Date
Brad King 331921e7c9 Merge topic 'ci-xcode-26'
965a12cb8a ci: update macOS jobs to use Xcode 26.0
edaa6ed06a Tests: Teach RunCMake to ignore Xcode an IDERunDestination warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11209
2025-09-21 18:56:49 -04:00
Brad King 596383a4fe Merge topic 'sequential-bom'
54161c70d5 cmListFileLexer: Do not require files to be seekable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !11162
2025-09-21 18:49:18 -04:00
Brad King a5ee4344e1 Merge topic 'cmp0200-improvements'
a900e5ec9f CMP0200: "Fix" updated test for policy warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11218
2025-09-21 18:47:25 -04:00
Brad King 952300ed4e Merge topic 'fbuild_dont_write_empty_deps'
64296789d3 FASTBuild: don't write empty dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11208
2025-09-21 18:42:57 -04:00
Brad King f2013e8479 Merge topic 'fbuild_reduce_duplicates'
08d68af5e6 FASTBuild: remove more duplicates from custom commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11213
2025-09-21 18:38:43 -04:00
Brad King c96ec11b5e Merge topic 'fbuild_dont_set_work_dir'
9d54b639d3 FASTBuild: don't set ExecWorkingDir for custom command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11210
2025-09-21 18:37:08 -04:00
Brad King 4dc0fcabae Merge topic 'fbuild_fix_hash_collision'
4b74d6c5b7 FASTBuild: fix possible collision in exec's name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11212
2025-09-21 18:35:37 -04:00
Brad King 2913f8b2ed Merge topic 'find_cuda_toolkit_move_more_logic_into_functions'
f757721ecd CUDAToolkit: Refactor find failure error messages to a single macro
0ae76a89b1 CUDAToolkit: Refactor guessing toolkit logic into a function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11207
2025-09-21 18:32:11 -04:00
Brad King 7082fd0a20 Merge topic 'refactor_find_cuda_toolkit_to_support_cross_compilation_linux'
aed29e04bc CUDAToolkit: Prefer CUDAToolkit_ROOT over users `PATH` path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11200
2025-09-21 18:29:44 -04:00
Brad King 6b9bd675c9 Merge topic 'emscripten-platform'
d361bf365e Emscripten: Drop hard-coded -sMAIN_MODULE and -sSIDE_MODULE flags
707f14d434 Emscripten: Restore support for indirect use of emsdk toolchain file
8580c6bd8d Tests: Teach RunCMake.Emscripten to tolerate emcc cache output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11206
2025-09-21 18:27:44 -04:00
Kitware Robot 4357280518 CMake Nightly Date Stamp 2025-09-21 00:05:08 -04:00
Kitware Robot 27557e2e3d CMake Nightly Date Stamp 2025-09-20 00:05:28 -04:00
Matthew Woehlke a900e5ec9f CMP0200: "Fix" updated test for policy warning
Commit 763aa084b0 (CMP0200: Fix crash in configuration selection policy
warning, 2025-09-10) fixed a bug in the CMP0200 policy warning and also
improved the test to exercise the problematic code, but did not properly
update the expected output. Add the second warning to the expected
output.
2025-09-19 15:57:00 -04:00
Eduard Voronkin 64296789d3 FASTBuild: don't write empty dependencies
We were writing "-deps" alias in the generated file
even if we didn't have any dependencies, which is excessive
and makes FASTBuild do more work then necessary.
2025-09-19 09:34:47 -07:00
Sergiu Deitsch 54161c70d5 cmListFileLexer: Do not require files to be seekable
Read the BOM sequentially and store the read bytes for later use if
these do not correspond to a BOM. This allows FIFO to be used as input,
e.g., for piping input or Bash process substitution.
2025-09-19 18:02:06 +02:00
Robert Maynard f757721ecd CUDAToolkit: Refactor find failure error messages to a single macro 2025-09-19 11:36:20 -04:00
Eduard Voronkin 9d54b639d3 FASTBuild: don't set ExecWorkingDir for custom command
We don't need set ExecWorkingDir since we add
a "cd" command to the script file anyway
(so the custom command will be executed in the correct directory).

Moreover, in 1.16 FASTBuild started using posix_spawn* API
instead of fork() (which is much more efficient),
but it only does so if `ExecWorkingDir` is not set.
2025-09-19 08:16:29 -07:00
Eduard Voronkin 4b74d6c5b7 FASTBuild: fix possible collision in exec's name
I was lucky enough to hit a hash collision
in the first 7 hex digits (28 bits) of SHA256 :)
2025-09-19 08:13:50 -07:00
Eduard Voronkin 08d68af5e6 FASTBuild: remove more duplicates from custom commands
Before there were a lot of duplicated shared across
"ExecInput" and "PreBuildDependencies".
2025-09-19 08:11:58 -07:00
Brad King 2fdae375ec Merge topic 'fileapi-check-script'
bb704d0390 Tests: Refactor RunCMake.FileAPI check script to support more arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11215
2025-09-19 10:13:07 -04:00
Brad King d361bf365e Emscripten: Drop hard-coded -sMAIN_MODULE and -sSIDE_MODULE flags
These flags are only needed for builds involving shared libraries,
and can cause undesirable behavior when they are not needed.
They also have variants with values like `=2`.  For now, just require
projects to add the flags when needed so they have full control.
In the future we may be able to add an abstraction to control them,
and automatically enable them when linking to shared libraries
or creating them.

Fixes: #27232
Issue: #27240
2025-09-19 09:54:02 -04:00
Brad King 616ca13b6a Merge topic 'string-regex-quote'
798cc7010c Tests: Fix regex matching to handle paths with special characters
d94d79a909 string: Add REGEX QUOTE sub-command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11203
2025-09-19 09:32:03 -04:00
Brad King 7722ce1130 Merge topic 'vs-slnx'
e6aa7742b0 VS: Generate .slnx files for VS 2026
95c2034b32 Tests/RunCMake: Factor out sln-format check scripts
d32b78f139 cmGlobalVisualStudio7Generator: Factor out computation of path to .sln
0a17f4e996 cmVisualStudioSlnParser: Fix storage of some `.sln` parse results
54769660e1 cmake --build: Simplify MSBuild Configuration and Platform arguments
2edc497261 cmake --build: Remove unused code for VS .NET SDK style projects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11205
2025-09-19 09:29:22 -04:00
Brad King 57a3a09616 Merge topic 'fbuild_unity'
23fd5703ad FASTBuild: add support for Unity builds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11202
2025-09-19 09:27:11 -04:00
Brad King 707f14d434 Emscripten: Restore support for indirect use of emsdk toolchain file
Extend commit 644ad91e6a (Emscripten: Restore support for emsdk
toolchain file and platform module, 2025-09-17) to support using a
third-party `CMAKE_TOOLCHAIN_FILE` that includes the emsdk-provided
toolchain file.

Issue: #27232
2025-09-19 09:21:33 -04:00
Brad King 8580c6bd8d Tests: Teach RunCMake.Emscripten to tolerate emcc cache output
`emcc` may generate messages like `cache:INFO:` to stderr,
which we otherwise expect to be empty.
2025-09-19 09:21:33 -04:00
Brad King 965a12cb8a ci: update macOS jobs to use Xcode 26.0 2025-09-19 08:19:34 -04:00
Brad King edaa6ed06a Tests: Teach RunCMake to ignore Xcode an IDERunDestination warning
On some Xcode versions, `xcodebuild` may warn:

    ... xcodebuild[...] IDERunDestination: ...

Teach RunCMake to drop such incidental lines before matching against
expected output.
2025-09-19 08:19:34 -04:00
Kitware Robot 4da54e01ae CMake Nightly Date Stamp 2025-09-19 00:05:08 -04:00
Robert Maynard aed29e04bc CUDAToolkit: Prefer CUDAToolkit_ROOT over users PATH path
Fixes #27102
2025-09-18 14:59:53 -04:00
Robert Maynard 0ae76a89b1 CUDAToolkit: Refactor guessing toolkit logic into a function 2025-09-18 14:56:52 -04:00
Timo Röhling 798cc7010c Tests: Fix regex matching to handle paths with special characters
Use `string(REGEX QUOTE)` for `MATCHES` with constructed patterns.

Fixes: #27234
2025-09-18 13:27:01 -04:00
Timo Röhling d94d79a909 string: Add REGEX QUOTE sub-command
Add a command to generate a regular expression that matches an
input string literally by escaping special characters.

Fixes: #18580
2025-09-18 13:25:20 -04:00
Eduard Voronkin 23fd5703ad FASTBuild: add support for Unity builds 2025-09-18 09:40:55 -07:00
Brad King e6aa7742b0 VS: Generate .slnx files for VS 2026
Since the `Visual Studio 18 2026` generator is new, we can switch
to the `.slnx` file format without changing behavior for users of
VS 2022 and older.

Fixes: #25887
2025-09-18 12:00:01 -04:00
Brad King 95c2034b32 Tests/RunCMake: Factor out sln-format check scripts 2025-09-18 12:00:00 -04:00
Brad King d32b78f139 cmGlobalVisualStudio7Generator: Factor out computation of path to .sln 2025-09-18 11:56:37 -04:00
Brad King bb704d0390 Tests: Refactor RunCMake.FileAPI check script to support more arguments 2025-09-18 10:00:51 -04:00
Brad King 0a17f4e996 cmVisualStudioSlnParser: Fix storage of some .sln parse results
In commit 5cdd774d51 (VS: Handle build target correct for .NET SDK style
projects with Any CPU, 2022-02-02, v3.23.0-rc1~3^2), some parse results
were stored in temporary copies of `cmSlnProjectEntry` and thrown away.
2025-09-18 09:10:34 -04:00
Brad King 54769660e1 cmake --build: Simplify MSBuild Configuration and Platform arguments 2025-09-18 09:10:33 -04:00
Brad King 2edc497261 cmake --build: Remove unused code for VS .NET SDK style projects
In commit 5cdd774d51 (VS: Handle build target correct for .NET SDK style
projects with Any CPU, 2022-02-02, v3.23.0-rc1~3^2), some `.sln` parse
results were stored in temporaries and never used by `cmake --build`.
Fixing that locally breaks `--target SomeDotNetSdkProject` in `x64`:

    $ cmake --build . --config Debug --target SomeDotNetSdkProject --verbose
    ".../MSBuild.exe" SomeDotNetSdkProject.csproj ... "/p:Platform=Any CPU"
    error MSB8013: This project doesn't contain ... Debug|Win32

Pending further investigation, remove the partial implementation that
amounts to a no-op.
2025-09-18 09:10:33 -04:00
Brad King 503ab73ee4 Merge topic 'vs-sln'
6a77c80834 cmGlobalVisualStudioGenerator: Consolidate solution generation methods
6b1c101410 cmGlobalVisualStudioGenerator: Adopt more solution generation methods
772cf917c1 cmGlobalVisualStudio71Generator: Remove this now-unnecessary class
3882718872 VS: Decouple solution generation from `.sln` file format
d67e7d2726 VS: Factor out Visual Studio `Version` enumeration
76266f9df6 cmGlobalVisualStudioGenerator: Adopt some solution generation methods
d52eb1d083 cmGlobalVisualStudioGenerator: Remove unused folder support rules
50f87b4bf2 cmGlobalGenerator: Simplify collection of targets under a project()
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11196
2025-09-18 09:06:29 -04:00
Brad King 2d8e464d2f Merge topic 'fbuild_optimize_db'
914a9eea94 FASTBuild: optimize generated file size

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11182
2025-09-18 09:05:04 -04:00
Brad King 917f8b217e Merge topic 'fbuild_more_opts'
99839d1158 FASTBuild: expose more options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11180
2025-09-18 09:03:07 -04:00
Brad King 457eaa831d Merge topic 'fbuild_improve_ide_proj'
9441f6cfb2 FASTBuild: improve IDE project structure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11179
2025-09-18 08:59:56 -04:00
Brad King 7ddd67bd41 Merge topic 'cmp0200-warning'
763aa084b0 CMP0200: Fix crash in configuration selection policy warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11164
2025-09-18 08:52:00 -04:00
Brad King 792f6989e9 Merge topic 'android-ndk-custom-toolchain'
9266d4817d Android: Allow custom compilers with NDK

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11199
2025-09-18 08:49:55 -04:00
Brad King edc4e31179 Merge topic 'tutorial-3.23'
058e7da541 Tutorial: Add redirect pages for removed steps
b2e3e3e30e Tutorial: Rewrite using conventions enabled by CMake 3.23

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11097
2025-09-18 08:46:04 -04:00
Brad King 0a11a8d77e Merge topic 'patch-QT_FOUND'
6a0cf35429 FindQt3, FindQt4: Clarify QT_FOUND result variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11198
2025-09-18 08:40:34 -04:00
Brad King baf695bfb0 Merge topic 'install-object-names-build-short'
b2ebfd7709 shortobj: properly force long names when computing long names
1980e47192 Tests/IntermediateDirStrategy: test install paths when using SHORT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11201
2025-09-18 08:36:12 -04:00