Commit Graph

71353 Commits

Author SHA1 Message Date
Brad King
e588b90fb7 Merge branch 'release-4.1' 2025-07-24 11:25:51 -04:00
Brad King
6101c162d8 Merge topic 'doc-renesas-relnote'
d95135b9cd Help: Add 4.1 release note for Renesas compiler support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10967
2025-07-24 11:25:51 -04:00
Brad King
42bc5d6b21 Merge topic 'doc-renesas-relnote' into release-4.1
d95135b9cd Help: Add 4.1 release note for Renesas compiler support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10967
2025-07-24 11:25:35 -04:00
Hirofumi Nakamura
d95135b9cd Help: Add 4.1 release note for Renesas compiler support
This was missed in commit 514135f563 (Renesas: Add support for Renesas
compilers, 2025-04-14, v4.1.0-rc1~89^2).

Issue: #26880
2025-07-24 10:33:52 -04:00
Brad King
f60e3852af Merge topic 'update-kwsys'
ea46bc69d5 Merge branch 'upstream-KWSys' into update-kwsys
278ce30d07 KWSys 2025-07-24 (bf2d9893)
ce54396676 cmFileCopier: Remove explicit default argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10959
2025-07-24 10:20:48 -04:00
Brad King
ea46bc69d5 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2025-07-24 (bf2d9893)
2025-07-24 09:45:32 -04:00
KWSys Upstream
278ce30d07 KWSys 2025-07-24 (bf2d9893)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit bf2d98935924be7915914bb52777dca50cf40107 (master).

Upstream Shortlog
-----------------

Benjamin Buch (1):
      d49120dd SystemTools: Add CopyFileIfNewer
2025-07-24 09:45:32 -04:00
Brad King
e3f57a60ba Merge topic 'add-subparsers'
aaeffdfe6b cmArgumentParser: Refactor to allow for nested parsers
18f818f556 cmArgumentParser: Move parser state into dedicated struct

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10963
2025-07-24 09:37:23 -04:00
Brad King
52fce8d4fb Merge topic 'target-origin'
cc42f1047b cmTarget: Add origin property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Vito Gamberini <vito.gamberini@kitware.com>
Acked-by: Matthew Woehlke <matthew.woehlke@kitware.com>
Merge-request: !10964
2025-07-24 09:31:01 -04:00
Kitware Robot
2d30c49cb9 CMake Nightly Date Stamp 2025-07-24 00:09:03 -04:00
Brad King
76c34c7584 Merge branch 'release-4.1' 2025-07-23 15:34:07 -04:00
Brad King
fa3978fa85 CMake 4.1.0-rc3 v4.1.0-rc3 2025-07-23 15:04:24 -04:00
Brad King
558b3922c3 Merge topic 'ExternalProject-env-vars'
e301cbffcc ExternalProject: Set environment variables
ff21c3f78a Help: ENVIRONMENT_MODIFICATION: split modification ops

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !10842
2025-07-23 12:08:36 -04:00
Brad King
671b52fc5d Merge topic 'pchreuse-refactor'
11ee18b758 ci: extend msvc_v71_nmake `RunCMake.PrecompileHeaders` test timeout
1c91fadbe8 Tests/RunCMake/PrecompileHeaders: support extended timeout
42f2867b3b pchreuse: defer dependency addition until generation time
f9bc615d9a pchreuse: ban PCH reuse from targets which disable PCH
f78f592b78 pchreuse: defer target existence enforcement to generation time
3ef773490d pchreuse: defer PCH consistency checks to generation time
1d701491a2 pchreuse: always ask the PCH reuse target for PDB information
6e7da8aa95 cmGeneratorTarget: factor out reuse target computation
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: alcroito <alexandru.croitor@qt.io>
Acked-by: Vincent X <gulackeg@gmail.com>
Merge-request: !10887
2025-07-23 12:07:07 -04:00
Brad King
dbd12c8bff Merge topic 'instrumentation-windows'
f7756853c5 instrumentation: Exclude (pre|post)Build hooks with MSYS Makefiles
455944508e instrumentation: Remove ninja-specific references
7dbe092d77 instrumentation: Support preBuild and postBuild hooks on Windows
6d6c8303f9 Tests: Teach RunCMake.Instrumentation to tolerate make tool output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10932
2025-07-23 12:03:11 -04:00
Brad King
7f168d5bb1 Merge topic 'msvc-std-clatest'
0d758be222 MSVC: Enable C23 language support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10949
2025-07-23 11:59:21 -04:00
Taylor Sasser
aaeffdfe6b cmArgumentParser: Refactor to allow for nested parsers 2025-07-23 09:42:05 -04:00
Brad King
13c3cf1b9c Merge topic 'llvm-install-name-tool'
9913d3ca1b BinUtils: Search for LLVM alternative to Apple's install_name_tool

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10955
2025-07-23 09:31:21 -04:00
Brad King
7c3e0d380f Merge topic 'clang-msvc-sysroot'
e06235e568 Clang: Implement CMAKE_SYSROOT for GNU-like front-end targeting MSVC ABI

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10962
2025-07-23 09:27:43 -04:00
Kitware Robot
6754d2f9b8 CMake Nightly Date Stamp 2025-07-23 00:04:56 -04:00
Taylor Sasser
18f818f556 cmArgumentParser: Move parser state into dedicated struct 2025-07-22 14:15:25 -04:00
mccakit
9913d3ca1b BinUtils: Search for LLVM alternative to Apple's install_name_tool
It is called `llvm-install-name-tool`.

Fixes: #27069
2025-07-22 13:59:09 -04:00
Michael Hirsch
0d758be222 MSVC: Enable C23 language support
Introduced support via `-std:clatest` in cl 19.39.
2025-07-22 13:50:44 -04:00
Evan Wilde
e301cbffcc ExternalProject: Set environment variables
Add the ability to modify the environment of the various steps running
as part of an external project build. This specifically adds the ability
to set them on the configure , build , install, and test steps, as well
as exposing the `ENVIRONMENT_MODIFICATION` keyword arguments to
`ExternalProject_Add_Step`, allowing customization of the environment of
custom steps.

The values of the environment variable respect the `LIST_SEPARATOR`.

Fixes: #26963
2025-07-22 13:13:23 -04:00
Ben Boeckel
11ee18b758 ci: extend msvc_v71_nmake RunCMake.PrecompileHeaders test timeout 2025-07-22 12:42:58 -04:00
Ben Boeckel
1c91fadbe8 Tests/RunCMake/PrecompileHeaders: support extended timeout
The test can sometimes take a long time with older machines or old build
systems/compilers. Support a test-specific timeout setting.
2025-07-22 12:42:58 -04:00
Ben Boeckel
42f2867b3b pchreuse: defer dependency addition until generation time
Note that this does lose the backtrace information. It also, however,
makes `PRECOMPILE_HEADERS_REUSE_FROM` a non-magic property now.
Previously, appending to the property would miss all of its behaviors
(or leave existing setup in-place which is no longer relevant
post-append). Rather than making a policy to block appending, just defer
all logic to generation time.
2025-07-22 12:42:58 -04:00
Ben Boeckel
f9bc615d9a pchreuse: ban PCH reuse from targets which disable PCH 2025-07-22 12:42:57 -04:00
Ben Boeckel
f78f592b78 pchreuse: defer target existence enforcement to generation time
Now that generation can work with any way the state gets to the way it
is, just do the target enforcement at generation time. This allows PCH
reuse targets to be declared before or after targets which use them.

Also update `cmLocalGenerator` to use the methods now that they reliably
provide values rather than parallel construction.
2025-07-22 12:42:57 -04:00
Ben Boeckel
3ef773490d pchreuse: defer PCH consistency checks to generation time
There's no reason that during-configure inconsistencies should block
generation. It can be detected at that point instead.
2025-07-22 12:42:57 -04:00
Ben Boeckel
1d701491a2 pchreuse: always ask the PCH reuse target for PDB information
The property settings set things up once, but nothing ensures that
post-reuse hookup that any property changes propagate. Instead, when
computing PDB information, if PCH reuse is enabled, just always use its
values.

Also drop enforcement at generate time of property value consistency as
it is now ignored when PCH reuse is in effect.

Additionally, if a target is PCH-reused, generate a PDB output directory
for it.

The `PchReuseFromIgnoreOwnProps` test failed previously because the
post-reuse link update of the consuming `PDB` properties are no longer
considered. The `PchReuseFromUseUpdatedProps` failed because the
post-reuse link did not update the copy of the properties added to
consuming reuse target properties.
2025-07-22 12:42:57 -04:00
Ben Boeckel
6e7da8aa95 cmGeneratorTarget: factor out reuse target computation 2025-07-22 12:42:57 -04:00
Ben Boeckel
99bdf2ae16 cmLocalGenerator: add PDB copying dependency on its script 2025-07-22 12:42:57 -04:00
Ben Boeckel
d3849f9de1 cmLocalGenerator: add a useful comment for the PDB copying command 2025-07-22 12:42:57 -04:00
Ben Boeckel
cb46c4a918 cmLocalGenerator: fix quoting in generated script 2025-07-22 12:42:57 -04:00
Ben Boeckel
552d5502ed Tests/RunCMake/PrecompileHeaders: rename "common" file
It is only used by `CMP0141` tests.
2025-07-22 12:42:57 -04:00
Brad King
f2727c6e05 Merge topic 'ninja-per-source-job-pool'
3a9d56d2c7 Ninja: Add support for per-source JOB_POOL_COMPILE property
44bf494fe6 Help: Global SPLIT_JOBS: reformat usages into a list.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10936
2025-07-22 12:07:38 -04:00
Brad King
df46a16619 Merge topic 'update-curl'
82ac700f78 ci: Drop nightly job that builds CMake with vendored curl on macOS
8d8283642a curl: Set build options the way we need for CMake
c8f51c1d21 Merge branch 'upstream-curl' into update-curl
71e5adbcc9 curl 2025-07-16 (cfbfb650)
bf8360ddad curl: Update script to get curl 8.15.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10961
2025-07-22 12:05:18 -04:00
Brad King
5c59490b09 Merge topic 'doc-listfile-term'
51f838f8a8 Help: Add `listfile` definition to man pages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10960
2025-07-22 11:59:33 -04:00
Brad King
aee77e77d2 Merge topic 'patch-AIX-CMAKE_DL_LIBS'
0622cb343e AIX: Drop unnecessary -l from CMAKE_DL_LIBS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10954
2025-07-22 11:54:37 -04:00
Matthew Woehlke
cc42f1047b cmTarget: Add origin property
Add the concept of "origin" to cmTarget. For now, only CPS targets get a
unique origin, but this might be expanded in the future. This will allow
us to implement different behaviors based on a target's origin.

In particular, this has been requested as a means of addressing #26998
and #27022.
2025-07-22 11:20:10 -04:00
Tyler Yankee
f7756853c5 instrumentation: Exclude (pre|post)Build hooks with MSYS Makefiles
The implementation of (pre|post)Build hooks rely on a direct parent-
child relationship between the build system process and `ctest
--start-instrumentation`. MSYS2's `make.exe` uses the msys-runtime POSIX
compatibility layer which disrupts this relationship.
2025-07-22 11:06:41 -04:00
Tyler Yankee
455944508e instrumentation: Remove ninja-specific references
Amend commit 314440c320 (instrumentation: Run preBuild and postBuild
hooks before and after make, 2025-02-05) to make comments and variables
names in `cmInstrumentation` agnostic to the build system being used.
2025-07-22 10:51:15 -04:00
Tyler Yankee
7dbe092d77 instrumentation: Support preBuild and postBuild hooks on Windows
* Use `uv_disable_stdio_inheritance` to resolve the deadlock between the
parent build system process and `ctest
--wait-and-collect-instrumentation` on Windows.
* Remove Windows gating from preBuild and postBuild indexing and update
tests and documentation accordingly.

Fixes: #26668
2025-07-22 10:51:03 -04:00
Kitware Robot
f65949b96e CMake Nightly Date Stamp 2025-07-22 00:04:54 -04:00
Brad King
e06235e568 Clang: Implement CMAKE_SYSROOT for GNU-like front-end targeting MSVC ABI
Fixes: #26084
2025-07-21 15:21:35 -04:00
Brad King
82ac700f78 ci: Drop nightly job that builds CMake with vendored curl on macOS
Revert commit 31884a7146 (ci: Add nightly job to build CMake with
vendored curl on macOS, 2024-05-09, v3.30.0-rc1~130^2).  After
curl 8.15.0 dropped support for the Secure Transport backend, we
rely on the curl provided by macOS to use the system certificate
store.
2025-07-21 14:03:33 -04:00
Brad King
8d8283642a curl: Set build options the way we need for CMake
Set options added by the update to curl 8.15.0.

In particular, drop code not needed after curl commit `08a3e8e19a`
(TLS: remove support for Secure Transport and BearSSL, 2025-06-09).
2025-07-21 13:45:45 -04:00
Brad King
c8f51c1d21 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2025-07-16 (cfbfb650)
2025-07-21 13:41:04 -04:00
Curl Upstream
71e5adbcc9 curl 2025-07-16 (cfbfb650)
Code extracted from:

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

at commit cfbfb65047e85e6b08af65fe9cdbcf68e9ad496a (curl-8_15_0).
2025-07-21 13:32:58 -04:00