The TU for Rust is a crate, not per-source. `rustc` expects entry file
to TU as input, and cannot work with object files. So we need to have
one-step build/link in most cases, similar to what old Swift was doing.
Issue: #25492
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
39a3915022 cmd: implement json version output
89fd18b48e nghttp2: provide common cm3p headers
31bb76eafd Utilities: add lost openssl dependency
26cdd956ac kwiml: provide common cm3p version header
4952dc9d4a Merge branch 'upstream-KWIML' into cmd-version-json
b41743ddcb KWIML 2025-08-05 (2eae04db)
25c05b0bac kwiml: Update script to get version header
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11630
Previously, `CMAKE_<LANG>_LINK_FLAGS` was an undocumented variable used
for linking executables only. Re-spell that variable mirroring the
existing spellings for shared and module libraries, and add policy
CMP0210 to preserve compatibility.
Then, repurpose `CMAKE_<LANG>_LINK_FLAGS` to provide a variable to be
used for per-language link flags for all target types, along with a
per-configuration variant. These are added to the `<LINK_FLAGS>` rule
placeholder in the generators.
Fixes: #21934
Relates: #25620
Co-authored-by: Brad King <brad.king@kitware.com>
23615b7ca4 presets: Allow jobs to match `ctest -j` with no value
71ff5a9d6f presets: Disallow negative values for "jobs" fields
c2b773cb97 cmake: Prefer named constant for jobs
68bd63c856 Help/presets: Document behavior for unbounded parallelism
25641fe8d5 Help/presets: Document behavior for native build tool parallelism
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Overchenko <aleksandr9809@gmail.com>
Merge-request: !11508
Allow an empty string for the "jobs" field of test presets to mirror
the `ctest --parallel` option without a number specified, which
corresponds to setting the parallelism to the maximum of the number of
processors or 2.
Issue: #27070
Jobs should never be negative, to mirror the behavior on the command
line for both `cmake --build` and `ctest`. This fixes unintended
behaviors where "-1" would lead to `cmake::NO_BUILD_PARALLEL_LEVEL`
being used for build presets and an integer overflow occurring for test
presets.
Bump to presets version 11 to signify the change.
Improve the wording on the behavior of the per-configuration variants
of `CMAKE_*_LINKER_FLAGS`. In particular, note that these variables
only apply to the specified build configuration, and replace the
ambiguous reference to `CMAKE_C_FLAGS_*` with a precise description.
Clarify that the "default" variants of these variables apply for all
build configurations.
Add links between pages for the default and per-configuration variables.
Today, CMake doesn't support configuration-agnostic module maps. For
CMakeConfig exports, this is irrelevant. For CPS, this may possibly
cause friction with other build systems. Briefly note that we don't
support this until we build a solution.
Add tests to ensure the `staticSystemInformation` subfields are always
either filled with meaningful data of a given type (i.e., non-empty
string, or >0 integer), or `null` if the data cannot be determined.
Issue: #27537, #27545