Brad King
35863507d8
Merge topic 'genex-refactor'
...
2a14338676 Merge branch 'backport-genex-refactor' into genex-refactor
cb0758a3c7 Merge branch 'backport-genex-refactor' into genex-refactor
e4708f007b GenEx: Factor out a dedicated evaluation Context structure
4697f7122b GenEx: Rename cmGeneratorExpressionContext to cm::GenEx::Evaluation
d1c780886e Merge branch 'backport-genex-refactor' into genex-refactor
77570a1ac1 GenEx: Consolidate target property evaluation context arguments
1735b0d147 GenEx: Construct cmGeneratorExpressionDAGChecker with full evaluation context
d4d204382f GenEx: Collect evaluation arguments into local Context structures
...
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Merge-request: !11224
2025-09-22 10:14:28 -04:00
Kitware Robot
c9dccc6d15
CMake Nightly Date Stamp
2025-09-22 00:05:10 -04:00
Brad King
2a14338676
Merge branch 'backport-genex-refactor' into genex-refactor
2025-09-21 20:22:24 -04:00
Brad King
e4708f007b
GenEx: Factor out a dedicated evaluation Context structure
...
The context's local generator, configuration name, and language are
constant throughout evaluation.
2025-09-21 20:21:37 -04:00
Brad King
4697f7122b
GenEx: Rename cmGeneratorExpressionContext to cm::GenEx::Evaluation
...
It has grown to hold information about the evaluation itself,
not just the context in which the evaluation occurs.
2025-09-21 20:21:32 -04:00
Brad King
d1c780886e
Merge branch 'backport-genex-refactor' into genex-refactor
2025-09-21 20:20:39 -04:00
Brad King
77570a1ac1
GenEx: Consolidate target property evaluation context arguments
2025-09-21 20:20:03 -04:00
Brad King
1735b0d147
GenEx: Construct cmGeneratorExpressionDAGChecker with full evaluation context
...
Extend commit e8010b67c7 (cmGeneratorExpressionDAGChecker: Make local
generator available in constructor, 2024-04-25, v3.30.0-rc1~172^2~6) and
commit 633afa0b2e (cmGeneratorExpressionDAGChecker: Make config name
available in constructor, 2024-05-08, v3.30.0-rc1~82^2~2) to make the
full evaluation context available in the constructor.
2025-09-21 20:20:03 -04:00
Brad King
d4d204382f
GenEx: Collect evaluation arguments into local Context structures
2025-09-21 20:17:16 -04:00
Brad King
905cfcfa12
cmGeneratorExpressionNode: Simplify EvaluateDependentExpression signature
...
The local generator is available in the evaluation context.
2025-09-21 18:58:55 -04:00
Brad King
b40a53e931
GenEx: Factor out a dedicated evaluation Context structure
...
The context's local generator, configuration name, and language are
constant throughout evaluation.
2025-09-21 18:58:55 -04:00
Brad King
fe8e82090b
cmGeneratorExpressionEvaluationFile: Constify some local generator usage
2025-09-21 18:58:55 -04:00
Brad King
e1035dc307
GenEx: Rename cmGeneratorExpressionContext to cm::GenEx::Evaluation
...
It has grown to hold information about the evaluation itself,
not just the context in which the evaluation occurs.
2025-09-21 18:58:55 -04:00
Brad King
8321178a23
cmFileSet: Constify local generator usage
2025-09-21 18:58:55 -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
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
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
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
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
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
Kitware Robot
4da54e01ae
CMake Nightly Date Stamp
2025-09-19 00:05:08 -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
d32b78f139
cmGlobalVisualStudio7Generator: Factor out computation of path to .sln
2025-09-18 11:56:37 -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
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
Kitware Robot
aec8b7bad8
CMake Nightly Date Stamp
2025-09-18 00:05:09 -04:00
Ben Boeckel
b2ebfd7709
shortobj: properly force long names when computing long names
...
The arguments need to be able to force a long name computation so that
install paths can use the intended long paths. Use this computed state
rather than asking the generator for its base state.
Also force long paths for Visual Studio generators when computing it.
Fixes : #27233
2025-09-17 14:36:29 -04:00
Eduard Voronkin
99839d1158
FASTBuild: expose more options
...
Expose more options for compiler configuration as well as adding unit test
2025-09-17 10:49:27 -07:00
Eduard Voronkin
9441f6cfb2
FASTBuild: improve IDE project structure
...
Right now, all IDE projects are located at the top level which makes it pretty messy when there are a lot of them.
With this change the generated IDE project will more closely mimic existing folder structure in the project.
2025-09-17 10:03:26 -07:00
Joerg Bornemann
763aa084b0
CMP0200: Fix crash in configuration selection policy warning
...
The recently introduced CMP0200 warnings could lead to a crash when
encountering targets with empty configuration values. Avoid calling
substr on an empty `string_view`.
Fixes : #27204
2025-09-17 10:30:12 -04:00
Brad King
a3ccb05430
Merge topic 'vs-ifx'
...
eae0a053f5 VS: Default Intel Fortran projects to ifx in VS 18 and above
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !11197
2025-09-17 10:11:38 -04:00
Brad King
508cabc812
Merge topic 'cps-import-interface'
...
e23f0748d8 CPS: Import per-configuration attributes
Acked-by: Kitware Robot <kwrobot@kitware.com >
Tested-by: buildbot <buildbot@kitware.com >
Merge-request: !11140
2025-09-17 10:09:06 -04:00