c++modules: Revert partial implementation of per-importer BMIs for 4.3

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
This commit is contained in:
Ben Boeckel
2026-02-27 10:23:22 -05:00
committed by Brad King
parent 9e22237120
commit e5b1a23f27
2 changed files with 9 additions and 19 deletions

View File

@@ -2,28 +2,17 @@
file LICENSE.rst or https://cmake.org/licensing for details. */
#include "cmCxxModuleUsageEffects.h"
#include <cm/optional>
#include "cmCryptoHash.h"
#include "cmGeneratorTarget.h"
#include "cmTarget.h"
cmCxxModuleUsageEffects::cmCxxModuleUsageEffects(cmGeneratorTarget const* gt)
cmCxxModuleUsageEffects::cmCxxModuleUsageEffects(
cmGeneratorTarget const* /*gt*/)
: Hash("0000000000000000000000000000000000000000")
{
cmCryptoHash hasher(cmCryptoHash::AlgoSHA3_512);
this->Hash = hasher.HashString(gt->GetName());
// Collect compile features from the consuming target.
for (auto const& feature : gt->Target->GetCompileFeaturesEntries()) {
this->CompileFeatures.emplace_back(feature);
}
// TODO: collect information from the generator target as to what might
// affect module consumption.
}
void cmCxxModuleUsageEffects::ApplyToTarget(cmTarget* tgt)
void cmCxxModuleUsageEffects::ApplyToTarget(cmTarget* /*tgt*/)
{
for (auto const& feature : this->CompileFeatures) {
tgt->AppendProperty("COMPILE_FEATURES", feature.Value, feature.Backtrace);
}
// TODO: apply the information collected in the constructor
}
std::string const& cmCxxModuleUsageEffects::GetHash() const

View File

@@ -185,7 +185,8 @@ if ("named" IN_LIST CMake_TEST_MODULE_COMPILATION)
# BMI generation
if ("cxx_std_23" IN_LIST CMAKE_CXX_COMPILE_FEATURES AND
RunCMake_GENERATOR MATCHES "Ninja")
run_cxx_module_test(mixed-bmi-compatibility)
# FIXME(#27597): Restore per-importer BMI and enable this test.
# run_cxx_module_test(mixed-bmi-compatibility)
endif()
if ("cxx_std_23" IN_LIST CMAKE_CXX_COMPILE_FEATURES AND