Commit Graph

71315 Commits

Author SHA1 Message Date
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
Kitware Robot f65949b96e CMake Nightly Date Stamp 2025-07-22 00:04:54 -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
Brad King bf8360ddad curl: Update script to get curl 8.15.0 2025-07-21 13:32:40 -04:00
Andrew Howe 51f838f8a8 Help: Add listfile definition to man pages
The term `listfile` was previously used without a definition in the man
pages, e.g., `CMAKE_CURRENT_LIST_FILE` in `cmake-variables(7)`.

Closes: #18512
2025-07-21 12:19:26 -04:00
Peter Kokot 0622cb343e AIX: Drop unnecessary -l from CMAKE_DL_LIBS
The `-lld` linker flag was added from the previous command-line script
that have all values in `CMAKE_DL_LIBS` prepended with `-l`.

On AIX, the `dlopen()` is otherwise in C library (default). But it seems
that also `libld` library was once needed on some versions to have
dynamic loading working.

Sync `CMAKE_DL_LIBS` value style with all other current usages.
2025-07-21 11:34:03 -04:00
Brad King 8eeeeb7efe Merge topic 'doc-FindDoxygen-TypoFix'
8695591d50 FindDoxygen: Fix typo in docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10956
2025-07-21 10:29:10 -04:00
Brad King 816e235609 Merge topic 'patch-TestBigEndian'
59da6d9e5c TestBigEndian, CMAKE_<LANG>_BYTE_ORDER: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10950
2025-07-21 10:24:09 -04:00
Austin Schuberth 8695591d50 FindDoxygen: Fix typo in docs
The example for using custom configuration file used
`doxygen_add_doxs()` instead of `doxygen_add_docs()`.
2025-07-21 10:21:07 -04:00
Brad King 88e66a8fc7 Merge topic 'patch-CMAKE_DL_LIBS'
934567de19 CMAKE_DL_LIBS: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10953
2025-07-21 10:19:33 -04:00
Brad King 5e26f8d3a7 Merge topic 'instrumentation-ctest-interface'
21ac285cd8 Experimental: Update the Instrumentation UUID
9dec460c8c instrumentation: Store CDash settings in query files
afa94bae1e instrumentation: Rename queries field to options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10934
2025-07-21 10:13:32 -04:00
Brad King f8dcf102d9 Merge topic 'find-package-unwind'
f61768107e find_package: Implement UNWIND_INCLUDE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10943
2025-07-21 10:09:00 -04:00
Brad King b86cfdb9ec Merge branch 'release-4.1' 2025-07-21 10:02:26 -04:00
Brad King 040c1138df Merge topic 'linux32-time64'
a760a74abf Tests: Optionally skip tests requiring 64-bit time_t
14e21fa992 bootstrap: Compile with 64-bit time_t on 32-bit Linux if possible

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10951
2025-07-21 10:02:26 -04:00
Brad King e4fade14ad Merge topic 'linux32-time64' into release-4.1
a760a74abf Tests: Optionally skip tests requiring 64-bit time_t
14e21fa992 bootstrap: Compile with 64-bit time_t on 32-bit Linux if possible

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10951
2025-07-21 10:02:24 -04:00
Kitware Robot b419a1de15 CMake Nightly Date Stamp 2025-07-21 00:07:28 -04:00
Kitware Robot 83e06f09ab CMake Nightly Date Stamp 2025-07-20 00:11:46 -04:00
Kitware Robot eb56394c9d CMake Nightly Date Stamp 2025-07-19 00:04:55 -04:00
Peter Kokot 934567de19 CMAKE_DL_LIBS: Update documentation 2025-07-18 22:39:18 +02:00
Kitware Robot b52ea487d7 CMake Nightly Date Stamp 2025-07-18 00:04:30 -04:00
Kitware Robot 58fc19e5c4 CMake Nightly Date Stamp 2025-07-17 00:04:37 -04:00
Bastien Montagne 3a9d56d2c7 Ninja: Add support for per-source JOB_POOL_COMPILE property
This commit allows to override a global or target-wide 'job pool'
property on a per-source basis.

It modifies the Ninja generator to first look into the source's
properties, and only use the target properties as a fallback.

The new `source` parameter to
`cmNinjaTargetGenerator::addPoolNinjaVariable` may be null, e.g. when
the function is called in context where there is no source (e.g. a
linking task).

Closes: #23994
2025-07-16 21:16:24 +02:00
Bastien Montagne 44bf494fe6 Help: Global SPLIT_JOBS: reformat usages into a list. 2025-07-16 20:31:32 +02:00
Brad King a760a74abf Tests: Optionally skip tests requiring 64-bit time_t
On some platforms, `time_t` is always 32-bit.  Add an explicit option
to skip tests that require 64-bit `time_t`.
2025-07-16 14:28:43 -04:00
Brad King 14e21fa992 bootstrap: Compile with 64-bit time_t on 32-bit Linux if possible
Extend commit 1b9e8f833f (Linux: Compile with 64-bit time_t even on
32-bit architectures, 2025-06-26, v4.1.0-rc2~16^2) to `bootstrap`.
2025-07-16 14:28:39 -04:00
Brad King 369c36503d Merge topic 'export-use-subcommand'
998495cb49 cmExportCommand: Port to cmSubcommandTable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Vito Gamberini <vito.gamberini@kitware.com>
Merge-request: !10947
2025-07-16 13:49:00 -04:00
Taylor Sasser 998495cb49 cmExportCommand: Port to cmSubcommandTable
Previously, the `cmExportCommand` parser did not use `cmSubcommandTable`
to distinguish between its `TARGETS`, `EXPORT`, `SETUP`, and `PACKAGE`
modes.  This created a maintenance burden when updating or adding
functionality.

Refactor the parser to use a subcommand for each keyword.  This new
structure mirrors the design of `cmInstallCommand` and simplifies future
development.
2025-07-16 11:33:48 -04:00
Brad King 1f9de0c82d Merge topic 'cmake-parent-fix'
41aea12941 Do not define CMAKE_PARENT_LIST_FILE in CMakeLists.txt

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10930
2025-07-16 11:27:00 -04:00
Peter Kokot 59da6d9e5c TestBigEndian, CMAKE_<LANG>_BYTE_ORDER: Update documentation
- Fixed typo in the module description.
- Added examples section highlighting the code migration towards the
  `CMAKE_<LANG>_BYTE_ORDER` variable.
- Documented command similar to other modules.
- Added examples for the `CMAKE_<LANG>_BYTE_ORDER` variable and
  explained when endianness for different languages can be used.
2025-07-16 14:55:48 +02:00
Kitware Robot 47df2a940a CMake Nightly Date Stamp 2025-07-16 00:04:38 -04:00
Benjamin Buch 41aea12941 Do not define CMAKE_PARENT_LIST_FILE in CMakeLists.txt
Add policy `CMP0198` for compatibility.

Issue: #25026
2025-07-15 11:51:45 -04:00
Brad King f19fa50b48 Merge topic 'string-json-better-error'
35f002e293 string(JSON): Include invalid JSON in parse error

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10944
2025-07-15 10:56:02 -04:00
Brad King d4306378b9 Merge topic 'freebsd_linker_variables'
7ae11ea4e7 Platform: Add compiler platform modules for BSDs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10919
2025-07-15 10:54:13 -04:00
Brad King 5af73a467f Merge branch 'release-4.1' 2025-07-15 10:50:44 -04:00
Brad King a584d962d1 Merge topic 'code-check-ninja-path-fix'
baa74ed677 clang-tidy: Use cleaner path to export-fixes file with Ninja

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Eduard Voronkin <edward.voronkin@gmail.com>
Merge-request: !10946
2025-07-15 10:50:44 -04:00
Brad King 8fcf7f5f89 Merge topic 'code-check-ninja-path-fix' into release-4.1
baa74ed677 clang-tidy: Use cleaner path to export-fixes file with Ninja

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Eduard Voronkin <edward.voronkin@gmail.com>
Merge-request: !10946
2025-07-15 10:50:42 -04:00
Brad King 0b1dace035 Merge topic 'codemodel-version-directory-target-objects'
4315076f2e fileapi: Add codemodelVersion fields to target and directory objects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10928
2025-07-15 10:47:42 -04:00
Vito Gamberini baa74ed677 clang-tidy: Use cleaner path to export-fixes file with Ninja
The clang-tidy "export-fixes" flag was using unconverted Ninja paths due
to a flipped boolean check from commit 993dde925f (TargetGenerator:
Factor out generation of code check rules, 2023-05-12,
v3.27.0-rc1~84^2~2).
2025-07-15 10:46:10 -04:00