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.
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.
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
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.
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).
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.
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
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
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
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.
- 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.