0ba9ef4b69 Merge branch 'backport-import-std-local-target'
df6b1f2997 c++modules: Restore use of local target for `import std`
3101d70902 c++modules: Restore use of local target for `import std`
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11752
Restore use of a project-local `STATIC` library to provide the stdlib's
module initialization symbols, as CMake 4.2's experimental support did.
In commit fa10dc6c22 (Experimental/CXXModules: Implement EcoStd Module
Metadata parser, 2025-10-21, v4.3.0-rc1~483^2) we switched to an
imported target to provide the BMI under the assumption that stdlib
implementations provide the symbols themselves, but they don't yet.
While refactoring the module metadata parser's properties logic, also
fix a relative path issue for local arguments.
Fixes: #27426, #27626, #27635
Prevent repeat configure calls from the CMake GUI or `ccmake` tool from
loading query duplicates, which caused many duplicate callbacks to be
invoked on each subsequent hook.
Also ensure that multiple subsequent configure steps invoked by CMake
GUI and `ccmake` each have an associated snippet file during generate.
Fixes: #27651
Co-Authored-By: Tyler Yankee <tyler.yankee@kitware.com>
Do not run the custom pre-/post- test tasks when instructed to only show
the tests that would be executed. Otherwise it's impossible to reliably
parse the output of this as is will be contaminated by all output
produced by the pre-/post-scripts!
Fixes: #23254
When there are two files with the same name but different content, an
error is shown, but the error does not include the filename which caused
it. This adds the filename to the error.
63775fe60f FILE_SET: add the support of properties for file set inspection
9696a44cd3 Sphinx: update infrastructure for File Set properties support
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11732
The `math(EXPR)` command documents that results must fit in a 64-bit
signed integer. When built with compilers that offer the relevant
intrinsics, detect overflow and issue warnings.
Introduced in commit 5c00749c5d (cmCxxModuleUsageEffects: Collect and
apply BMI compatibility requirements, 2025-12-29, v4.3.0-rc1~43^2), this
has exploded the set of BMIs generated in existing builds. Revert this
partial implementation and comment out its corresponding test for the
4.3 release. Work towards a full implementation will proceed in
post-4.3 development.
Issue: #27597
When `PRIVATE` sources are added to an `INTERFACE`
target A and A is a dependency of B - the target A
ends up in "direct dependencies" of the B targets
and it messes up the generated `fbuild.bff` file.
Fixes: #27644
48115670b5 cmLocalGenerator: Use cmScriptGenerator::Quote
0dd7258287 cmInstallRuntimeDependencySetGenerator: Use cmScriptGenerator::Quote
56e90c4eb7 cmInstallCxxModuleBmiGenerator: Use cmScriptGenerator::Quote
01b8005996 cmGlobalNinjaGenerator: Use cmScriptGenerator::Quote
82802340c9 cmExportCMakeConfigGenerator: Use cmScriptGenerator::Quote
c778e75749 cmCoreTryCompile: Use cmScriptGenerator::Quote
1d76bec9b7 cmMakefileTargetGenerator: Use cmScriptGenerator::Quote
7c984778c5 cmLocalUnixMakefileGenerator3: Use cmScriptGenerator::Quote
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11735
Several problems with this feature came up while testing 4.3.0-rc1.
These include both broken stdlib distributions and regressions in our
implementation of the feature since CMake 4.2.
Revert commit 70c1f0f43d (Experimental: Remove import std experimental
gate, 2026-02-04, v4.3.0-rc1~61^2) except for its incidental fixes.
Remove the 4.3 release notes related to `import std`.
Rotate the experimental gate's UUID.
Issue: #27426
Issue: #27597
Issue: #27626
Issue: #27635