Commit Graph
38048 Commits
Author SHA1 Message Date
Brad King c325904eb1 Merge topic 'vs2026'
47c784ba8a Help: Add release note for Visual Studio 18 2026 generator
cd46d8ec84 Merge branch 'backport-vs2026' into vs2026
3392b371e2 VS: Add Visual Studio 18 2026 generator
7f0883ac04 VS: Remove unused generator code
6f0d245083 VS: Fix `/dynamicdeopt` flag table entry order for v145 toolset
398ce8af72 VS: Remove `/guard:cf` from v145 link flag table
5c9085d876 VS: Remove `/MERGE` from v145 link flag table
fe5c78310c VS: Map the link `/debug` flag for v145 toolset
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11168
2025-09-16 09:00:10 -04:00
Kitware Robot 7043a42757 CMake Nightly Date Stamp 2025-09-16 00:05:23 -04:00
Brad King 9a53a28596 Merge topic 'improve-diagnostic'
ca072e3734 cmListFileLexer: Test for broken UTF-32-(BE|LE) BOM
3b8ddf3f45 cmListFileLexer: Handle null character in the grammar
7040406f86 cmListFileLexer: Do not require null-terminated input
0a26c08004 cm/string_view: Prevent find access past string end
63328f01f8 Utilities/Scripts: Drop CommandArgument lexer/parser generation step

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11173
2025-09-15 11:42:12 -04:00
Brad King 2337bfc562 Merge topic 'cxxmodules-custom-import-std-metadata-file'
85e536b5eb gitlab-ci: test `CMAKE_CXX_STDLIB_MODULES_JSON` in CI
42621a232b Tests/CXXModules: add a label
2f101b2c8c Tests/CXXModules: support testing with custom stdlib json locations
6c178a4ae3 Tests/RunCMake: add newlines in CXXModules options
2b85541e39 cxximportstd: support setting the `import std` metadata location

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11175
2025-09-15 11:39:52 -04:00
Brad King 0355497103 Merge topic 'intermediate-dir-strategy-mark-usage'
9ad31a0d88 cmGlobalGenerator: mark intermediate directory strategy variables as used

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11178
2025-09-15 11:37:47 -04:00
Brad King cd46d8ec84 Merge branch 'backport-vs2026' into vs2026 2025-09-15 11:33:57 -04:00
Brad King 3392b371e2 VS: Add Visual Studio 18 2026 generator
Closes: #27213
2025-09-15 11:31:02 -04:00
Kitware Robot d148703375 CMake Nightly Date Stamp 2025-09-15 00:05:31 -04:00
Kitware Robot dd06fad849 CMake Nightly Date Stamp 2025-09-14 00:05:12 -04:00
Kitware Robot b53375ea94 CMake Nightly Date Stamp 2025-09-13 00:05:12 -04:00
Ben Boeckel 9ad31a0d88 cmGlobalGenerator: mark intermediate directory strategy variables as used
Fixes: #27222
2025-09-12 13:59:22 -04:00
Sergiu Deitsch ca072e3734 cmListFileLexer: Test for broken UTF-32-(BE|LE) BOM 2025-09-12 18:28:55 +02:00
Sergiu Deitsch 3b8ddf3f45 cmListFileLexer: Handle null character in the grammar 2025-09-12 18:28:55 +02:00
Sergiu Deitsch 7040406f86 cmListFileLexer: Do not require null-terminated input 2025-09-12 18:28:55 +02:00
Brad King d5d02f80c0 Merge topic 'msvc-flags-fix-for-27177'
9851ddfc11 VS: Check all default suppressed MSBuild flags
7202539fd4 VS: Suppress MSBuild default flags not specified by project or user

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11165
2025-09-12 11:43:16 -04:00
Brad King fa3387a64f Merge topic 'fbuild_cache_path'
f77628e0af FASTBuild: don't set default cache path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11157
2025-09-12 11:40:40 -04:00
Brad King 82405b106c Merge topic 'fbuild_fix_typo'
3027c24057 FASTBuild: fix a small typo in documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11174
2025-09-12 11:33:01 -04:00
Brad King 064df8a511 Merge topic 'wix-empty-components'
6e3f6e925d CPack/WiX: Allow multiple empty top-level components

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11172
2025-09-12 11:28:17 -04:00
Kitware Robot e990e60dd9 CMake Nightly Date Stamp 2025-09-12 00:05:09 -04:00
Ben Boeckel 2b85541e39 cxximportstd: support setting the import std metadata location
Some deployments may not be able to discover the metadata file reliably
(e.g., custom `clang` builds on macOS while using the SDK's stdlib or
distribution bugs). Allow users to force the location so that
compiler-driven detection doesn't have to bend over backwards for
unforeseen bugs.
2025-09-11 18:03:00 -04:00
Eduard Voronkin f77628e0af FASTBuild: don't set default cache path
Leave only 2 option to set cache path:
1. CMake variable
2. Environment variable
Update docs to reflect the changes.
2025-09-11 11:25:36 -07:00
Eduard Voronkin 3027c24057 FASTBuild: fix a small typo in documentation 2025-09-11 09:58:33 -07:00
Brad King 568e3318bc Merge topic 'wix-multi-cab'
193f17102f CPack/WiX: Implement opt-in per component .cab

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11166
2025-09-11 12:04:27 -04:00
Nils Gladitz 6e3f6e925d CPack/WiX: Allow multiple empty top-level components
Avoid generating empty / conflicting directory components for
the installation root which is shared across components and
(except for the degenerate case of an empty installer)
will always be created implicitly.
2025-09-11 15:18:50 +02:00
AJIOB 7202539fd4 VS: Suppress MSBuild default flags not specified by project or user 2025-09-11 13:59:19 +03:00
Kitware Robot 50e5040cda CMake Nightly Date Stamp 2025-09-11 00:05:14 -04:00
Brad King 7f0883ac04 VS: Remove unused generator code
VS 15 and above do not have an "Express Edition".
2025-09-10 17:01:12 -04:00
Brad King 29633b2f81 Merge topic 'ninja-status-unset-configure'
b5e06311c0 Ninja: Avoid non-standard output from `ninja` during `try_compile`
fe0e2fcaff ScopedEnv: add a RAII helper to temporarily manipulate the environment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !11143
2025-09-10 10:06:49 -04:00
Brad King 042b88e3f4 Merge topic 'object-name-properties'
b53837a1bd prop_sf/INSTALL_OBJECT_NAME: support custom install object names
08f1a0fbc6 cmLocalGenerator: get the configuration when building object paths
168e55be41 cmObjectLocation: support install-specific object locations
84372ce0b5 prop_sf/OBJECT_NAME: no-op for the FASTBuild and Xcode generators
9ef99353cb prop_sf/OBJECT_NAME: support custom object names
7aff0d37b5 cmSourceFile: add accessors for PCH source files
bbdc2fd908 cmSourceFile: internally track CMake-managed source files
388923818d cmGeneratorTarget: return the source file added
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11144
2025-09-10 10:01:47 -04:00
Brad King e0a9bbfc23 Merge topic 'target-SKIP_LINTING'
f100769d72 Add `SKIP_LINTING` target property and `CMAKE_SKIP_LINTING` variable
0d6b5d54b2 Tests/RunCMake/MultiLint: Extract test preparation code into separate file
3a21092d75 Tests/RunCMake/MultiLint: Refactor test runs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11139
2025-09-10 09:53:48 -04:00
Nils Gladitz 193f17102f CPack/WiX: Implement opt-in per component .cab
By setting CPACK_WIX_CAB_PER_COMPONENT users can generate one
.cab per component instead of one .cab per installer.

WiX compresses .cab files in parallel.
This may potentially speed up installer creation.

May also allow larger installers (there is a 2GB per .cab limit).
2025-09-10 12:24:42 +02:00
Kitware Robot 082071203f CMake Nightly Date Stamp 2025-09-10 00:05:08 -04:00
Ben Boeckel b53837a1bd prop_sf/INSTALL_OBJECT_NAME: support custom install object names
These can support configuration-dependent queries much more easily, so
separate it out.
2025-09-09 09:58:07 -04:00
Ben Boeckel 08f1a0fbc6 cmLocalGenerator: get the configuration when building object paths
Install locations can be per-configuration, so this information is
necessary for this call. Plumb it through; usage will follow in the next
commit.
2025-09-09 09:58:07 -04:00
Ben Boeckel 168e55be41 cmObjectLocation: support install-specific object locations
This will be used to implement custom install object paths. These can
support per-configuration values much more easily as it is
generator-agnostic.
2025-09-09 09:58:07 -04:00
Ben Boeckel 84372ce0b5 prop_sf/OBJECT_NAME: no-op for the FASTBuild and Xcode generators
There's no control over the object base name implemented in the
FASTBuild generator. Rather than expecting some half-supported behavior,
just ignore it completely there.

Similarly, Xcode ends up making its own object paths internally
regardless of what CMake would like.
2025-09-09 09:58:07 -04:00
Ben Boeckel 9ef99353cb prop_sf/OBJECT_NAME: support custom object names
Projects which ship object files as artifacts may want to control the
object names as much as possible. Support setting explicit object names
as source file properties to support such use cases.
2025-09-09 09:58:07 -04:00
Alex Turbov f100769d72 Add SKIP_LINTING target property and CMAKE_SKIP_LINTING variable
These offer target-wide settings to disable lints.

Closes: #27191
2025-09-09 09:56:35 -04:00
Brad King 526b32ccc0 Merge topic 'c++23-ambiguous-overload'
9fac84dd7f cmStringAlgorithms: Fix C++23 ambiguous overload error

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !11155
2025-09-09 09:50:50 -04:00
Brad King 517214ed9b Merge topic 'typos-1.36.1'
8fb6449275 ci: Update to typos 1.36.1 in Fedora base image
49e05f9569 pre-commit: bump to typos 1.36.1
20e19a713d Source: Fix typo discovered by typos 1.36.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11150
2025-09-09 09:43:31 -04:00
Kitware Robot ea2069bf9d CMake Nightly Date Stamp 2025-09-09 00:05:11 -04:00
John Drouhard b5e06311c0 Ninja: Avoid non-standard output from ninja during try_compile
We sometimes parse the output from `ninja` during `try_compile`. Avoid
unexpected characters.

Fixes: #19316
2025-09-08 16:22:58 -05:00
John Drouhard fe0e2fcaff ScopedEnv: add a RAII helper to temporarily manipulate the environment 2025-09-08 16:22:58 -05:00
Alex Turbov 20e19a713d Source: Fix typo discovered by typos 1.36.1 2025-09-08 12:14:39 -04:00
Ben Boeckel 7aff0d37b5 cmSourceFile: add accessors for PCH source files
`cmLocalGenerator::GetObjectFileNameWithoutTarget` used a heuristic to
detect PCH sources. Use the new special source types to detect them
reliably instead.
2025-09-08 11:59:57 -04:00
Ben Boeckel bbdc2fd908 cmSourceFile: internally track CMake-managed source files
These source file types don't necessarily show up in the CMake code, but
are side effects of other behaviors in CMake. Support tracking them
specially so that heuristics are not required to figure out if a given
`cmSourceFile` is one of them.
2025-09-08 11:59:57 -04:00
Ben Boeckel 388923818d cmGeneratorTarget: return the source file added
A few callsites uses this codepath to generate `cmSourceFile` instances;
allow them to access it.
2025-09-08 11:59:57 -04:00
Ben Boeckel 232feec0b1 cmCMakePath: support constructing .end() iterators
Dereferencing the iterator must be avoided once it becomes the `.end()`
value. Check for iterator validity before updating the `PathElement`
member.
2025-09-08 11:59:56 -04:00
Ben Boeckel 99d48a842d cmLocalGenerator: fix comment typo 2025-09-08 11:59:56 -04:00
Brad King a3a3416bc1 Merge topic 'install-object-only-destination'
c1de3c72a3 install: support using `DESTINATION` as-is for object installation
cf44806e7c Help/CMAKE_INSTALL_OBJECT_NAME_STRATEGY: add `versionadded` directive

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11138
2025-09-08 11:32:05 -04:00