Commit Graph

72160 Commits

Author SHA1 Message Date
Brad King 31fd368e80 Merge topic 'GNUInstallDirs-cached-default' into release-4.1
2e88a3efc2 GNUInstallDirs: Fix regression on -DCMAKE_INSTALL_<dir>=<default> in /usr

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11167
2025-09-11 13:05:19 -04:00
Eduard Voronkin 3027c24057 FASTBuild: fix a small typo in documentation 2025-09-11 09:58:33 -07:00
Brad King ea539e2de6 Merge topic 'GNUInstallDirs-cached-default'
2e88a3efc2 GNUInstallDirs: Fix regression on -DCMAKE_INSTALL_<dir>=<default> in /usr

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11167
2025-09-11 12:06:59 -04: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
Brad King d1f17a6b7c Merge topic 'update-curl'
8145958e01 Merge branch 'upstream-curl' into update-curl
20103c0679 curl 2025-09-10 (11b99123)
dbb84e50b1 curl: Update script to get curl 8.16.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11169
2025-09-11 11:39:31 -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
Sergiu Deitsch 0a26c08004 cm/string_view: Prevent find access past string end 2025-09-11 15:10:57 +02:00
Brad King 63328f01f8 Utilities/Scripts: Drop CommandArgument lexer/parser generation step
This was missed in commit 292aaffb78 (Source: Remove unused
cmCommandArgument{Lexer,Parser}, 2024-12-09, v4.0.0-rc1~156^2~3).
2025-09-11 15:10:57 +02:00
AJIOB 9851ddfc11 VS: Check all default suppressed MSBuild flags 2025-09-11 13:59:19 +03:00
AJIOB 7202539fd4 VS: Suppress MSBuild default flags not specified by project or user 2025-09-11 13:59:19 +03:00
Nils Gladitz 1f99ea95d3 Help: Fix typo in INSTALL_PARALLEL documentation 2025-09-11 12:30:31 +02:00
Kitware Robot 50e5040cda CMake Nightly Date Stamp 2025-09-11 00:05:14 -04:00
Brad King 8145958e01 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2025-09-10 (11b99123)
2025-09-10 17:13:04 -04:00
Curl Upstream 20103c0679 curl 2025-09-10 (11b99123)
Code extracted from:

    https://github.com/curl/curl.git

at commit 11b991232fbcaa88e2b1faecac224416b0001e35 (curl-8_16_0).
2025-09-10 17:07:26 -04:00
Brad King dbb84e50b1 curl: Update script to get curl 8.16.0 2025-09-10 17:07: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 6f0d245083 VS: Fix /dynamicdeopt flag table entry order for v145 toolset
Sort the longer options before the shorter ones.
2025-09-10 17:01:12 -04:00
Brad King 398ce8af72 VS: Remove /guard:cf from v145 link flag table
Apply the change from commit 9e24437c91 (VS: Remove the '/guard:cf' flag
from v143 link flag table, 2022-01-11, v3.22.2~7^2) to the v145 flag
table.
2025-09-10 17:01:12 -04:00
Brad King 5c9085d876 VS: Remove /MERGE from v145 link flag table
Apply the change from commit b933584a72 (VS: Remove the /MERGE flag from
v143 link flag table, 2021-07-14, v3.21.1~29^2~11) to the v145 flag
table.
2025-09-10 17:01:12 -04:00
Brad King fe5c78310c VS: Map the link /debug flag for v145 toolset
Apply the change from commit d3175a6079 (VS: Map the link `/debug` flag
for v143, 2021-07-14, v3.21.1~29^2~12) to the v145 flag table.
2025-09-10 17:01:12 -04:00
Brad King 9b3b857a2c VS: Fix /MANIFESTUAC: link flag mapping for v145 toolset
Apply the change from commit 9e10045552 (VS: Fix `/MANIFESTUAC:` link
flag mapping for v143, 2021-07-14, v3.21.1~29^2~13) to the v145 flag
table.
2025-09-10 17:01:11 -04:00
Brad King d2c43f5df6 VS: Remove C++ module CompileAs flag table entries for v145 toolset
Apply the change from commit 937f454fb9 (VS: Remove C++ module CompileAs
flag table entries for v142 and v143, 2021-07-26, v3.21.1~3^2) to the
v145 flag table.
2025-09-10 17:01:11 -04:00
Brad King dcc54ae656 VS: Remove cl /FS entry from flag table for v145 toolset
Apply the change from commit 8fb349a80e (VS: Remove cl /FS entry from
flag table for v142 and v143, 2021-07-26, v3.21.1~3^2~1) to the v145
flag table.
2025-09-10 17:01:11 -04:00
Brad King 843a6232f7 VS: Remove broken /fsanitize= entries from flag table for v145 toolset
Apply the change from commit 919fc7fd5f (VS: Remove broken EnableASAN
entry from flag table for v143, 2021-07-14, v3.21.1~29^2~2) to the v145
flag table.  Extend it to the fuzzer variant too.
2025-09-10 17:01:11 -04:00
Brad King 3dcd6b9610 VS: Add -Zc:inline[-] flag table entry for v145 toolset
Apply the change from commit cccef3c5b4 (VS: Add `-Zc:inline[-]` flag
table entry for v143, 2021-07-14, v3.21.1~29^2~9) to the v145 flag
table.
2025-09-10 17:01:11 -04:00
Brad King b67bc3ba5b VS: Add /Y- flag table entry for v145 toolset
Apply the change from commit 3322bb7081 (VS: Populate `/Y-` flag table
entry for v143, 2021-07-14, v3.21.1~29^2~8) to the v145 flag table.
2025-09-10 17:01:11 -04:00
Brad King 711ccd1583 VS: Fix /reference and /headerUnit flag table entries for v145 toolset
Apply the change from commit 3f9ef3703a (VS: Fix /reference and
/headerUnit flag table entries for v142 and v143, 2021-08-10,
v3.21.2~11^2) to the v145 flag table.
2025-09-10 17:01:10 -04:00
Brad King 86d1b51494 VS: Fix -ifcOutput flag table entry for v145 toolset
Apply the change from commit a22e9e7cf0 (FlagTables: `-ifcOutput` takes
a subsequent argument, 2023-10-16, v3.28.0-rc2~2^2~1) to the v145 flag
table.
2025-09-10 17:01:10 -04:00
Brad King a926e63864 VS: Add /JMC- flag table entry for v145 toolset
Apply the change from commit 993d706a17 (VS: Populate `/JMC-` flag table
entry for v143, 2021-07-14, v3.21.1~29^2~6) to the v145 flag table.
2025-09-10 17:01:10 -04:00
Brad King 54a5772ce6 VS: Add /FI flag table entry for separate argument to v145 toolset
Apply the change from commit 20cd951c9f (VS: Add compiler flag table
entry for -FI followed by separate argument, 2022-04-01,
v3.24.0-rc1~351^2) to the v145 flag table.
2025-09-10 17:01:10 -04:00
Brad King 267dec2d42 VS: Fix /analyze:log flag mapping for v145 toolset
Apply the change from commit 2d64b01223 (VS: Fix `/analyze:log` flag
mapping for v143, 2021-07-14, v3.21.1~29^2~10) to the v145 flag table.
2025-09-10 17:01:10 -04:00
Brad King aa0e87f50f VS: Add -Qspectre- flag table entry for v145 toolset
Apply the change from commit a070d87e08 (VS: Populate `-Qspectre-` flag
table entry for v143, 2021-07-14, v3.21.1~29^2~7) to the v145 flag
table.  Sort the longer options before the shorter ones.  Remove the
default variant with an empty switch.
2025-09-10 17:01:10 -04:00
Brad King 730eea86e7 VS: Fix /sourceDependencies flag table entries for v145 toolset
Apply the pattern from commit 1ac1436b25 (VS: Fix `/sourceDependencies`
flag table entries for v143, 2021-07-14, v3.21.1~29^2~1) to the v145
flag table.

Also map `/sourceDependencies:directives` to `/scanDependencies` as we
do for the v142 and v143 toolsets.
2025-09-10 17:01:10 -04:00
Brad King c2dc6fe566 VS: Fix /scanDependencies flag table entries for v145 toolset
Apply the pattern from commit 50f3c58083 (FlagTables: Add entries for cl
-scanDependencies flag, 2023-10-16, v3.28.0-rc2~2^2) to the v145 flag
table.
2025-09-10 17:01:09 -04:00
Brad King 574e5a159e VS: Add /arch:NotSet flag table entry for v145 toolset
Apply the change from commit 0031d5effa (VS: Add `/arch:NotSet` flag
table entries for v14x toolsets, 2023-09-27, v3.28.0-rc1~36^2) to the
v145 flag table.
2025-09-10 17:01:09 -04:00
Brad King 9a6041bb69 VS: Add /clr:netcore flag table entry for v145 toolset
Apply the change from commit eef13a4b33 (VS: Add COMMON_LANGUAGE_RUNTIME
support for "netcore", 2022-10-25, v3.26.0-rc1~465^2) to the v145 flag
table.
2025-09-10 17:01:09 -04:00
Brad King c3ecdb49d5 VS: Add v145 flag tables for VS 18.0 Insiders
Run the commands

    python3 Source/cmConvertMSBuildXMLToJSON.py -t v145 \
        'c:/.../18/Insiders/MSBuild/Microsoft/VC/v180/1033/cl.xml'
    python3 Source/cmConvertMSBuildXMLToJSON.py -t v145 \
        'c:/.../18/Insiders/MSBuild/Microsoft/VC/v180/1033/cl.xml'

To generate `Templates/MSBuild/FlagTables/v143_{CL,Link}.json`.
We can reuse `Templates/MSBuild/FlagTables/v14_LIB.json`.
2025-09-10 17:00:32 -04:00
Cristian Le 2e88a3efc2 GNUInstallDirs: Fix regression on -DCMAKE_INSTALL_<dir>=<default> in /usr
Fix commit 9789f7d05e (GNUInstallDirs: Add internal helper to compute
specific defaults, 2025-03-28, v4.1.0-rc1~384^2~3) to avoid updating
explicitly-specified cache entries on the first run.  Do not reset the
default value until at least the second run, during which we have
`_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX` already defined.

Fixes: #27211
2025-09-10 16:03:43 -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 b768431138 Merge topic 'instrumentation-doc-format'
515be042e2 Help/instrumentation: Improve formatting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11163
2025-09-10 09:56:04 -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