mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
c++modules: Correctly calculate and apply usage effects
Usage effects describe the relationship between a provider and a consumer of C++ module interface units. They encompass the flags and features used to construct BMIs for those units. If the usage effects of a provider and consumer match, then the provider's BMI may be reused as-is. If they do not match, then a synthetic target describing the interface units with the consumer's usage effects applied must be created. This commit makes three major changes to how usage effects are reified in CMake. The first is simple, usage effect hashes now use compile options and features as the input to their hash instead of the consumer name. A simply warning flag filter is also applied, mostly to demonstrate the mechanism. This is the "correct calculation" for usage effects. The second is more impactful, usage effects now entirely replace the compile options of providers with those of consumers if unmatched. Compile definitions, includes, and links remain unchanged. This is necessary to ensure successful builds, but is a tricky semantic change. The third is mostly source-facing, the discovery model for CxxModule synthetic targets is no longer the global target namespace. Instead, non-synthetic targets manage their synthetic derivatives. Every target maintains a usage effect-keyed cache of synthetic targets. When determining if a synthetic target is necessary, a given provider checks for compatibility with itself, then for presence in the cache, and if the cache misses a new synthetic target is created. Fixes: #27597
This commit is contained in:
@@ -512,7 +512,6 @@ add_library(
|
||||
cmStdIoTerminal.cxx
|
||||
cmStringAlgorithms.cxx
|
||||
cmStringAlgorithms.h
|
||||
cmSyntheticTargetCache.h
|
||||
cmSystemTools.cxx
|
||||
cmSystemTools.h
|
||||
cmTarget.cxx
|
||||
|
||||
@@ -2,28 +2,141 @@
|
||||
file LICENSE.rst or https://cmake.org/licensing for details. */
|
||||
#include "cmCxxModuleUsageEffects.h"
|
||||
|
||||
#include <cm/optional>
|
||||
#include <algorithm>
|
||||
#include <set>
|
||||
#include <vector>
|
||||
|
||||
#include <cm/string_view>
|
||||
|
||||
#include "cmCryptoHash.h"
|
||||
#include "cmGeneratorTarget.h"
|
||||
#include "cmListFileCache.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmTarget.h"
|
||||
#include "cmValue.h"
|
||||
|
||||
namespace {
|
||||
|
||||
bool IsMSVCWarning(cm::string_view flag)
|
||||
{
|
||||
if (flag.size() < 2) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (flag.front() != '/' && flag.front() != '-') {
|
||||
return false;
|
||||
}
|
||||
|
||||
flag.remove_prefix(1);
|
||||
|
||||
if (flag.front() == 'w' || flag.front() == 'W') {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (flag.substr(0, 9) == "external:") {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool IsGNUWarning(cm::string_view flag)
|
||||
{
|
||||
if (flag.size() < 2) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (flag.front() != '-') {
|
||||
return false;
|
||||
}
|
||||
|
||||
flag.remove_prefix(1);
|
||||
|
||||
if (flag.front() == 'w' || flag.front() == 'W') {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (flag.front() == '-') {
|
||||
flag.remove_prefix(1);
|
||||
}
|
||||
|
||||
static std::set<cm::string_view> const long_names{
|
||||
"pedantic", "pedantic-errors", "all-warnings", "extra-warnings",
|
||||
"no-warnings"
|
||||
};
|
||||
|
||||
return long_names.find(flag) != long_names.end();
|
||||
}
|
||||
|
||||
bool UnknownFilter(cm::string_view)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
using FlagFilter = bool (*)(cm::string_view flag);
|
||||
|
||||
FlagFilter GetFlagFilter(cmGeneratorTarget const* gt)
|
||||
{
|
||||
static FlagFilter filter = nullptr;
|
||||
if (filter) {
|
||||
return filter;
|
||||
}
|
||||
|
||||
cmValue frontendVariant =
|
||||
gt->Makefile->GetDefinition("CMAKE_CXX_COMPILER_FRONTEND_VARIANT");
|
||||
|
||||
if (frontendVariant == "GNU") {
|
||||
filter = IsGNUWarning;
|
||||
} else if (frontendVariant == "MSVC") {
|
||||
filter = IsMSVCWarning;
|
||||
} else {
|
||||
filter = UnknownFilter;
|
||||
}
|
||||
|
||||
return filter;
|
||||
}
|
||||
|
||||
template <typename Range>
|
||||
void AppendUsageEntries(std::string& usageHashInput, Range const& entries)
|
||||
{
|
||||
std::vector<std::string> entryValues;
|
||||
for (auto const& entry : entries) {
|
||||
entryValues.push_back(entry.Value);
|
||||
}
|
||||
std::sort(entryValues.begin(), entryValues.end());
|
||||
|
||||
for (auto const& entryValue : entryValues) {
|
||||
usageHashInput += entryValue;
|
||||
usageHashInput.push_back('\n');
|
||||
}
|
||||
|
||||
usageHashInput.push_back('\0');
|
||||
}
|
||||
}
|
||||
|
||||
cmCxxModuleUsageEffects::cmCxxModuleUsageEffects(cmGeneratorTarget const* gt)
|
||||
{
|
||||
auto const* tgt = gt->Target;
|
||||
auto const filter = GetFlagFilter(gt);
|
||||
|
||||
std::string usageHashInput;
|
||||
if (tgt->IsImported()) {
|
||||
AppendUsageEntries(usageHashInput,
|
||||
tgt->GetImportedCxxModulesCompileFeaturesEntries());
|
||||
AppendUsageEntries(
|
||||
usageHashInput,
|
||||
tgt->GetImportedCxxModulesCompileOptionsEntries().filter(
|
||||
[&](const BT<std::string>& flag) { return !filter(flag.Value); }));
|
||||
} else {
|
||||
AppendUsageEntries(usageHashInput, tgt->GetCompileFeaturesEntries());
|
||||
AppendUsageEntries(
|
||||
usageHashInput,
|
||||
tgt->GetCompileOptionsEntries().filter(
|
||||
[&](const BT<std::string>& flag) { return !filter(flag.Value); }));
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
void cmCxxModuleUsageEffects::ApplyToTarget(cmTarget* tgt)
|
||||
{
|
||||
for (auto const& feature : this->CompileFeatures) {
|
||||
tgt->AppendProperty("COMPILE_FEATURES", feature.Value, feature.Backtrace);
|
||||
}
|
||||
this->Hash = hasher.HashString(usageHashInput);
|
||||
}
|
||||
|
||||
std::string const& cmCxxModuleUsageEffects::GetHash() const
|
||||
|
||||
@@ -5,22 +5,15 @@
|
||||
#include "cmConfigure.h" // IWYU pragma: keep
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "cmListFileCache.h"
|
||||
|
||||
class cmGeneratorTarget;
|
||||
class cmTarget;
|
||||
|
||||
class cmCxxModuleUsageEffects
|
||||
{
|
||||
public:
|
||||
cmCxxModuleUsageEffects(cmGeneratorTarget const* gt);
|
||||
|
||||
void ApplyToTarget(cmTarget* tgt);
|
||||
std::string const& GetHash() const;
|
||||
|
||||
private:
|
||||
std::string Hash;
|
||||
std::vector<BT<std::string>> CompileFeatures;
|
||||
};
|
||||
|
||||
+112
-86
@@ -52,7 +52,6 @@
|
||||
#include "cmState.h"
|
||||
#include "cmStateTypes.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSyntheticTargetCache.h"
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmTarget.h"
|
||||
#include "cmTargetLinkLibraryType.h"
|
||||
@@ -5400,12 +5399,114 @@ bool cmGeneratorTarget::ApplyCXXStdTargets()
|
||||
return true;
|
||||
}
|
||||
|
||||
bool cmGeneratorTarget::DiscoverSyntheticTargets(
|
||||
cmSyntheticTargetCache& cache, std::string const& config,
|
||||
cmGeneratorTarget const* bmiConsumer)
|
||||
cmCxxModuleUsageEffects const& cmGeneratorTarget::GetCxxModuleUsageEffects()
|
||||
const
|
||||
{
|
||||
if (!this->CxxModuleUsageEffects) {
|
||||
this->CxxModuleUsageEffects.emplace(this);
|
||||
}
|
||||
|
||||
return *this->CxxModuleUsageEffects;
|
||||
}
|
||||
|
||||
cmGeneratorTarget const* cmGeneratorTarget::GetTargetForCxxModules(
|
||||
std::string const& config, cmGeneratorTarget const& bmiConsumer) const
|
||||
{
|
||||
auto const& consumingUsage = bmiConsumer.GetCxxModuleUsageEffects();
|
||||
auto const& owningUsage = this->GetCxxModuleUsageEffects();
|
||||
if (consumingUsage.GetHash() == owningUsage.GetHash()) {
|
||||
if (this->IsImported()) {
|
||||
return this->GetCxxSyntheticTarget(config, *this);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
return this->GetCxxSyntheticTarget(config, bmiConsumer);
|
||||
}
|
||||
|
||||
cmGeneratorTarget const* cmGeneratorTarget::GetCxxSyntheticTarget(
|
||||
std::string const& config, cmGeneratorTarget const& bmiConsumer) const
|
||||
{
|
||||
auto const& usageHash = bmiConsumer.GetCxxModuleUsageEffects().GetHash();
|
||||
auto cached = this->SynthCxxTargets.find(usageHash);
|
||||
if (cached != this->SynthCxxTargets.end()) {
|
||||
return cached->second;
|
||||
}
|
||||
|
||||
auto targetNameBase = this->GetName();
|
||||
if (this->IsImported()) {
|
||||
cmSystemTools::ReplaceString(targetNameBase, "::", "__");
|
||||
}
|
||||
auto const targetName =
|
||||
cmStrCat(targetNameBase, "@synth_", this->SynthCxxTargets.size());
|
||||
|
||||
std::vector<std::string> allConfigs =
|
||||
this->Makefile->GetGeneratorConfigs(cmMakefile::IncludeEmptyConfig);
|
||||
auto const* model = this->Target;
|
||||
auto* mf = this->Makefile;
|
||||
auto* lg = this->GetLocalGenerator();
|
||||
auto* tgt =
|
||||
mf->AddSynthesizedTarget(cmStateEnums::INTERFACE_LIBRARY, targetName);
|
||||
|
||||
// Copy relevant information from the existing target.
|
||||
|
||||
// Copy policies to the target.
|
||||
tgt->CopyPolicyStatuses(model);
|
||||
|
||||
// Copy file sets.
|
||||
{
|
||||
for (auto const* gfs :
|
||||
this->GetInterfaceFileSets(cm::FileSetMetadata::CXX_MODULES)) {
|
||||
auto* newFs =
|
||||
tgt
|
||||
->GetOrCreateFileSet(gfs->GetName(), gfs->GetType(),
|
||||
cm::FileSetMetadata::Visibility::Public)
|
||||
.first;
|
||||
newFs->CopyEntries(gfs->GetFileSet());
|
||||
}
|
||||
}
|
||||
|
||||
// Copy properties which effect consumer compatibility
|
||||
tgt->CopyUsageEffects(bmiConsumer.Target);
|
||||
|
||||
// Copy properties which don't effect consumer compatibility
|
||||
tgt->CopyCxxModulesEntries(model);
|
||||
|
||||
// Copy other properties which may affect the C++ module BMI generation.
|
||||
tgt->CopyCxxModulesProperties(model);
|
||||
|
||||
tgt->AddLinkLibrary(*mf, cmStrCat("$<COMPILE_ONLY:", model->GetName(), '>'),
|
||||
GENERAL_LibraryType);
|
||||
|
||||
// Create the generator target and attach it to the local generator.
|
||||
auto gtp = cm::make_unique<cmGeneratorTarget>(tgt, lg);
|
||||
auto* syntheticTarget = gtp.get();
|
||||
|
||||
// See `localGen->ComputeTargetCompileFeatures()` call in
|
||||
// `cmGlobalGenerator::Compute` for where non-synthetic targets resolve
|
||||
// this.
|
||||
for (auto const& innerConfig : allConfigs) {
|
||||
gtp->ComputeCompileFeatures(innerConfig);
|
||||
}
|
||||
// See `cmGlobalGenerator::ApplyCXXStdTargets` in
|
||||
// `cmGlobalGenerator::Compute` for non-synthetic target resolutions.
|
||||
if (!gtp->ApplyCXXStdTargets()) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
lg->AddGeneratorTarget(std::move(gtp));
|
||||
this->SynthCxxTargets[usageHash] = syntheticTarget;
|
||||
if (!syntheticTarget->DiscoverSyntheticTargets(config, &bmiConsumer)) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return syntheticTarget;
|
||||
}
|
||||
|
||||
bool cmGeneratorTarget::DiscoverSyntheticTargets(
|
||||
std::string const& config, cmGeneratorTarget const* bmiConsumer)
|
||||
{
|
||||
auto& configInfo = this->Configs[config];
|
||||
cmOptionalLinkImplementation impl;
|
||||
this->ComputeLinkImplementationLibraries(config, impl, UseTo::Link);
|
||||
|
||||
@@ -5413,9 +5514,7 @@ bool cmGeneratorTarget::DiscoverSyntheticTargets(
|
||||
bmiConsumer = this;
|
||||
}
|
||||
|
||||
cmCxxModuleUsageEffects usage(bmiConsumer);
|
||||
|
||||
auto& SyntheticDeps = this->Configs[config].SyntheticDeps;
|
||||
auto& SyntheticDeps = configInfo.SyntheticDeps;
|
||||
|
||||
for (auto const& entry : impl.Libraries) {
|
||||
auto const* gt = entry.Target;
|
||||
@@ -5431,86 +5530,13 @@ bool cmGeneratorTarget::DiscoverSyntheticTargets(
|
||||
continue;
|
||||
}
|
||||
|
||||
cmCryptoHash hasher(cmCryptoHash::AlgoSHA3_512);
|
||||
constexpr size_t HASH_TRUNCATION = 12;
|
||||
auto dirhash =
|
||||
hasher.HashString(gt->GetLocalGenerator()->GetCurrentBinaryDirectory());
|
||||
std::string safeName = gt->GetName();
|
||||
cmSystemTools::ReplaceString(safeName, ":", "_");
|
||||
auto targetIdent =
|
||||
hasher.HashString(cmStrCat("@d_", dirhash, "@u_", usage.GetHash()));
|
||||
std::string targetName =
|
||||
cmStrCat(safeName, "@synth_", targetIdent.substr(0, HASH_TRUNCATION));
|
||||
|
||||
// Check the cache to see if this instance of the target has
|
||||
// already been created.
|
||||
auto cached = cache.CxxModuleTargets.find(targetName);
|
||||
cmGeneratorTarget const* synthDep = nullptr;
|
||||
if (cached == cache.CxxModuleTargets.end()) {
|
||||
auto const* model = gt->Target;
|
||||
auto* mf = gt->Makefile;
|
||||
auto* lg = gt->GetLocalGenerator();
|
||||
auto* tgt =
|
||||
mf->AddSynthesizedTarget(cmStateEnums::INTERFACE_LIBRARY, targetName);
|
||||
|
||||
// Copy relevant information from the existing target.
|
||||
|
||||
// Copy policies to the target.
|
||||
tgt->CopyPolicyStatuses(model);
|
||||
|
||||
// Copy file sets.
|
||||
{
|
||||
for (auto const* gfs :
|
||||
gt->GetInterfaceFileSets(cm::FileSetMetadata::CXX_MODULES)) {
|
||||
auto* newFs =
|
||||
tgt
|
||||
->GetOrCreateFileSet(gfs->GetName(), gfs->GetType(),
|
||||
cm::FileSetMetadata::Visibility::Public)
|
||||
.first;
|
||||
newFs->CopyEntries(gfs->GetFileSet());
|
||||
}
|
||||
}
|
||||
|
||||
// Copy C++ module properties.
|
||||
tgt->CopyCxxModulesEntries(model);
|
||||
|
||||
// Copy other properties which may affect the C++ module BMI
|
||||
// generation.
|
||||
tgt->CopyCxxModulesProperties(model);
|
||||
|
||||
tgt->AddLinkLibrary(*mf,
|
||||
cmStrCat("$<COMPILE_ONLY:", model->GetName(), '>'),
|
||||
GENERAL_LibraryType);
|
||||
|
||||
// Apply usage requirements to the target.
|
||||
usage.ApplyToTarget(tgt);
|
||||
|
||||
// Create the generator target and attach it to the local generator.
|
||||
auto gtp = cm::make_unique<cmGeneratorTarget>(tgt, lg);
|
||||
|
||||
synthDep = gtp.get();
|
||||
cache.CxxModuleTargets[targetName] = synthDep;
|
||||
|
||||
// See `localGen->ComputeTargetCompileFeatures()` call in
|
||||
// `cmGlobalGenerator::Compute` for where non-synthetic targets resolve
|
||||
// this.
|
||||
for (auto const& innerConfig : allConfigs) {
|
||||
gtp->ComputeCompileFeatures(innerConfig);
|
||||
}
|
||||
// See `cmGlobalGenerator::ApplyCXXStdTargets` in
|
||||
// `cmGlobalGenerator::Compute` for non-synthetic target resolutions.
|
||||
if (!gtp->ApplyCXXStdTargets()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
gtp->DiscoverSyntheticTargets(cache, config, bmiConsumer);
|
||||
|
||||
lg->AddGeneratorTarget(std::move(gtp));
|
||||
} else {
|
||||
synthDep = cached->second;
|
||||
auto const* dep = gt->GetTargetForCxxModules(config, *bmiConsumer);
|
||||
if (!dep) {
|
||||
return false;
|
||||
}
|
||||
if (dep->IsSynthetic()) {
|
||||
SyntheticDeps[gt].push_back(dep);
|
||||
}
|
||||
|
||||
SyntheticDeps[gt].push_back(synthDep);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include <cm/string_view>
|
||||
|
||||
#include "cmAlgorithms.h"
|
||||
#include "cmCxxModuleUsageEffects.h"
|
||||
#include "cmLinkItem.h"
|
||||
#include "cmList.h"
|
||||
#include "cmListFileCache.h"
|
||||
@@ -45,7 +46,6 @@ class cmGeneratorFileSet;
|
||||
class cmGlobalGenerator;
|
||||
class cmLocalGenerator;
|
||||
class cmMakefile;
|
||||
struct cmSyntheticTargetCache;
|
||||
class cmTarget;
|
||||
|
||||
struct cmGeneratorExpressionDAGChecker;
|
||||
@@ -1145,9 +1145,11 @@ public:
|
||||
std::string GetImportedXcFrameworkPath(std::string const& config) const;
|
||||
|
||||
bool ApplyCXXStdTargets();
|
||||
cmCxxModuleUsageEffects const& GetCxxModuleUsageEffects() const;
|
||||
cmGeneratorTarget const* GetTargetForCxxModules(
|
||||
std::string const& config, cmGeneratorTarget const& bmiConsumer) const;
|
||||
bool DiscoverSyntheticTargets(
|
||||
cmSyntheticTargetCache& cache, std::string const& config,
|
||||
cmGeneratorTarget const* bmiConsumer = nullptr);
|
||||
std::string const& config, cmGeneratorTarget const* bmiConsumer = nullptr);
|
||||
|
||||
using SyntheticDepsMap =
|
||||
std::map<cmGeneratorTarget const*, std::vector<cmGeneratorTarget const*>>;
|
||||
@@ -1180,6 +1182,9 @@ public:
|
||||
private:
|
||||
void AddSourceCommon(std::string const& src, bool before = false);
|
||||
|
||||
cmGeneratorTarget const* GetCxxSyntheticTarget(
|
||||
std::string const& config, cmGeneratorTarget const& bmiConsumer) const;
|
||||
|
||||
std::string CreateFortranModuleDirectory(
|
||||
std::string const& working_dir) const;
|
||||
mutable bool FortranModuleDirectoryCreated = false;
|
||||
@@ -1609,6 +1614,8 @@ private:
|
||||
SyntheticDeps;
|
||||
std::map<cmSourceFile const*, ClassifiedFlags> SourceFlags;
|
||||
};
|
||||
mutable std::map<std::string, cmGeneratorTarget*> SynthCxxTargets;
|
||||
mutable cm::optional<cmCxxModuleUsageEffects> CxxModuleUsageEffects;
|
||||
mutable std::map<std::string, InfoByConfig> Configs;
|
||||
std::unique_ptr<cmGeneratorFileSets> FileSets;
|
||||
bool PchReused = false;
|
||||
|
||||
@@ -61,7 +61,6 @@
|
||||
#include "cmStateDirectory.h"
|
||||
#include "cmStateTypes.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSyntheticTargetCache.h"
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmValue.h"
|
||||
#include "cmVersion.h"
|
||||
@@ -1895,8 +1894,6 @@ bool cmGlobalGenerator::ApplyCXXStdTargets()
|
||||
|
||||
bool cmGlobalGenerator::DiscoverSyntheticTargets()
|
||||
{
|
||||
cmSyntheticTargetCache cache;
|
||||
|
||||
for (auto const& gen : this->LocalGenerators) {
|
||||
// Because DiscoverSyntheticTargets() adds generator targets, we need to
|
||||
// cache the existing list of generator targets before starting.
|
||||
@@ -1911,7 +1908,7 @@ bool cmGlobalGenerator::DiscoverSyntheticTargets()
|
||||
tgt->Makefile->GetGeneratorConfigs(cmMakefile::IncludeEmptyConfig);
|
||||
|
||||
for (auto const& config : configs) {
|
||||
if (!tgt->DiscoverSyntheticTargets(cache, config)) {
|
||||
if (!tgt->DiscoverSyntheticTargets(config)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
file LICENSE.rst or https://cmake.org/licensing for details. */
|
||||
#pragma once
|
||||
|
||||
#include "cmConfigure.h" // IWYU pragma: keep
|
||||
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
||||
class cmGeneratorTarget;
|
||||
|
||||
struct cmSyntheticTargetCache
|
||||
{
|
||||
std::map<std::string, cmGeneratorTarget const*> CxxModuleTargets;
|
||||
};
|
||||
+35
-10
@@ -1679,11 +1679,21 @@ cmBTStringRange cmTarget::GetCompileOptionsEntries() const
|
||||
return cmMakeRange(this->impl->CompileOptions.Entries);
|
||||
}
|
||||
|
||||
cmBTStringRange cmTarget::GetImportedCxxModulesCompileOptionsEntries() const
|
||||
{
|
||||
return cmMakeRange(this->impl->ImportedCxxModulesCompileOptions.Entries);
|
||||
}
|
||||
|
||||
cmBTStringRange cmTarget::GetCompileFeaturesEntries() const
|
||||
{
|
||||
return cmMakeRange(this->impl->CompileFeatures.Entries);
|
||||
}
|
||||
|
||||
cmBTStringRange cmTarget::GetImportedCxxModulesCompileFeaturesEntries() const
|
||||
{
|
||||
return cmMakeRange(this->impl->ImportedCxxModulesCompileFeatures.Entries);
|
||||
}
|
||||
|
||||
cmBTStringRange cmTarget::GetCompileDefinitionsEntries() const
|
||||
{
|
||||
return cmMakeRange(this->impl->CompileDefinitions.Entries);
|
||||
@@ -1729,6 +1739,31 @@ cmBTStringRange cmTarget::GetLinkInterfaceDirectExcludeEntries() const
|
||||
return cmMakeRange(this->impl->InterfaceLinkLibrariesDirectExclude.Entries);
|
||||
}
|
||||
|
||||
void cmTarget::CopyUsageEffects(cmTarget const* tgt)
|
||||
{
|
||||
// Normal targets cannot be the target of a copy.
|
||||
assert(!this->IsNormal());
|
||||
// Imported targets cannot be the target of a copy.
|
||||
assert(!this->IsImported());
|
||||
// Only imported or normal targets can be the source of a copy.
|
||||
assert(tgt->IsImported() || tgt->IsNormal());
|
||||
|
||||
this->impl->CompileFeatures.Entries.clear();
|
||||
this->impl->CompileOptions.Entries.clear();
|
||||
|
||||
if (tgt->IsImported()) {
|
||||
this->impl->CompileFeatures.CopyFromEntries(
|
||||
cmMakeRange(tgt->impl->ImportedCxxModulesCompileFeatures.Entries));
|
||||
this->impl->CompileOptions.CopyFromEntries(
|
||||
cmMakeRange(tgt->impl->ImportedCxxModulesCompileOptions.Entries));
|
||||
} else {
|
||||
this->impl->CompileFeatures.CopyFromEntries(
|
||||
cmMakeRange(tgt->impl->CompileFeatures.Entries));
|
||||
this->impl->CompileOptions.CopyFromEntries(
|
||||
cmMakeRange(tgt->impl->CompileOptions.Entries));
|
||||
}
|
||||
}
|
||||
|
||||
void cmTarget::CopyPolicyStatuses(cmTarget const* tgt)
|
||||
{
|
||||
// Normal targets cannot be the target of a copy.
|
||||
@@ -1754,8 +1789,6 @@ void cmTarget::CopyCxxModulesEntries(cmTarget const* tgt)
|
||||
|
||||
this->impl->IncludeDirectories.Entries.clear();
|
||||
this->impl->CompileDefinitions.Entries.clear();
|
||||
this->impl->CompileFeatures.Entries.clear();
|
||||
this->impl->CompileOptions.Entries.clear();
|
||||
this->impl->LinkLibraries.Entries.clear();
|
||||
|
||||
if (tgt->IsImported()) {
|
||||
@@ -1763,10 +1796,6 @@ void cmTarget::CopyCxxModulesEntries(cmTarget const* tgt)
|
||||
cmMakeRange(tgt->impl->ImportedCxxModulesIncludeDirectories.Entries));
|
||||
this->impl->CompileDefinitions.CopyFromEntries(
|
||||
cmMakeRange(tgt->impl->ImportedCxxModulesCompileDefinitions.Entries));
|
||||
this->impl->CompileFeatures.CopyFromEntries(
|
||||
cmMakeRange(tgt->impl->ImportedCxxModulesCompileFeatures.Entries));
|
||||
this->impl->CompileOptions.CopyFromEntries(
|
||||
cmMakeRange(tgt->impl->ImportedCxxModulesCompileOptions.Entries));
|
||||
this->impl->LinkLibraries.CopyFromEntries(
|
||||
cmMakeRange(tgt->impl->ImportedCxxModulesLinkLibraries.Entries));
|
||||
} else {
|
||||
@@ -1774,10 +1803,6 @@ void cmTarget::CopyCxxModulesEntries(cmTarget const* tgt)
|
||||
cmMakeRange(tgt->impl->IncludeDirectories.Entries));
|
||||
this->impl->CompileDefinitions.CopyFromEntries(
|
||||
cmMakeRange(tgt->impl->CompileDefinitions.Entries));
|
||||
this->impl->CompileFeatures.CopyFromEntries(
|
||||
cmMakeRange(tgt->impl->CompileFeatures.Entries));
|
||||
this->impl->CompileOptions.CopyFromEntries(
|
||||
cmMakeRange(tgt->impl->CompileOptions.Entries));
|
||||
this->impl->LinkLibraries.CopyFromEntries(
|
||||
cmMakeRange(tgt->impl->LinkLibraries.Entries));
|
||||
}
|
||||
|
||||
@@ -306,8 +306,10 @@ public:
|
||||
cmBTStringRange GetIncludeDirectoriesEntries() const;
|
||||
|
||||
cmBTStringRange GetCompileOptionsEntries() const;
|
||||
cmBTStringRange GetImportedCxxModulesCompileOptionsEntries() const;
|
||||
|
||||
cmBTStringRange GetCompileFeaturesEntries() const;
|
||||
cmBTStringRange GetImportedCxxModulesCompileFeaturesEntries() const;
|
||||
|
||||
cmBTStringRange GetCompileDefinitionsEntries() const;
|
||||
|
||||
@@ -325,6 +327,7 @@ public:
|
||||
cmBTStringRange GetLinkInterfaceDirectEntries() const;
|
||||
cmBTStringRange GetLinkInterfaceDirectExcludeEntries() const;
|
||||
|
||||
void CopyUsageEffects(cmTarget const* tgt);
|
||||
void CopyPolicyStatuses(cmTarget const* tgt);
|
||||
void CopyCxxModulesEntries(cmTarget const* tgt);
|
||||
void CopyCxxModulesProperties(cmTarget const* tgt);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
^(CMake Error in CMakeLists\.txt:
|
||||
Target "imported-cxx-modules@synth_[0-9a-f]+" contains C\+\+ modules
|
||||
intended for BMI-only compilation\. This is not yet supported by the Visual
|
||||
Studio generator\.
|
||||
Target "imported-cxx-modules@synth_[0-9]+" contains C\+\+ modules intended for
|
||||
BMI-only compilation\. This is not yet supported by the Visual Studio
|
||||
generator\.
|
||||
*
|
||||
)+CMake Generate step failed\. Build files cannot be regenerated correctly\.
|
||||
|
||||
@@ -51,12 +51,16 @@
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"private": true,
|
||||
"provides": {},
|
||||
"requires": ["importable"],
|
||||
"requires": [
|
||||
"importable"
|
||||
],
|
||||
"source": "PATH:<SOURCE_DIR>/imp-mods/use.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": ["REGEX:CXXModules__export_build_database@synth_<HEX>@<CONFIG>"]
|
||||
"visible-sets": [
|
||||
"CXXModules__export_build_database@synth_0@<CONFIG>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"family-name": "use_import_interfaces",
|
||||
@@ -107,16 +111,152 @@
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces.dir<CONFIG_OTHER_DIR>/use.cxx<OBJEXT>",
|
||||
"private": true,
|
||||
"provides": {},
|
||||
"requires": ["importable"],
|
||||
"requires": [
|
||||
"importable"
|
||||
],
|
||||
"source": "PATH:<SOURCE_DIR>/imp-mods/use.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": ["REGEX:CXXModules__export_build_database@synth_<HEX>@<CONFIG_OTHER>"]
|
||||
"visible-sets": [
|
||||
"CXXModules__export_build_database@synth_0@<CONFIG_OTHER>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"family-name": "use_import_interfaces_matching",
|
||||
"name": "use_import_interfaces_matching@<CONFIG>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
"<IGNORE>",
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/use_import_interfaces_matching.dir<CONFIG_DIR>/use.cxx<OBJEXT>.d\"",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/use_import_interfaces_matching.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"-c",
|
||||
"PATH:<SOURCE_DIR>/imp-mods/use.cxx"
|
||||
],
|
||||
"baseline-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"local-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces_matching.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"private": true,
|
||||
"provides": {},
|
||||
"requires": [
|
||||
"importable"
|
||||
],
|
||||
"source": "PATH:<SOURCE_DIR>/imp-mods/use.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": [
|
||||
"CXXModules__export_build_database@synth_1@<CONFIG>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"family-name": "use_import_interfaces_matching",
|
||||
"name": "use_import_interfaces_matching@<CONFIG_OTHER>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
"<IGNORE>",
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_OTHER_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/use_import_interfaces_matching.dir<CONFIG_OTHER_DIR>/use.cxx<OBJEXT>.d\"",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/use_import_interfaces_matching.dir<CONFIG_OTHER_DIR>/use.cxx<OBJEXT>",
|
||||
"-c",
|
||||
"PATH:<SOURCE_DIR>/imp-mods/use.cxx"
|
||||
],
|
||||
"baseline-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_OTHER_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"local-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_OTHER_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces_matching.dir<CONFIG_OTHER_DIR>/use.cxx<OBJEXT>",
|
||||
"private": true,
|
||||
"provides": {},
|
||||
"requires": [
|
||||
"importable"
|
||||
],
|
||||
"source": "PATH:<SOURCE_DIR>/imp-mods/use.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": [
|
||||
"CXXModules__export_build_database@synth_1@<CONFIG_OTHER>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"family-name": "REGEX:CXXModules::export_build_database@<HEX>",
|
||||
"name": "REGEX:CXXModules__export_build_database@synth_<HEX>@<CONFIG>",
|
||||
"name": "CXXModules__export_build_database@synth_0@<CONFIG>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
@@ -135,14 +275,12 @@
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"REGEX:PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_<HEX>.dir<CONFIG_DIR>/.d\"",
|
||||
"-Dtarget_public_option",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_0.dir<CONFIG_DIR>/.d\"",
|
||||
"REGEX:<BMI_ONLY_FLAG>",
|
||||
"REGEX:PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_<HEX>.dir<CONFIG_DIR>/",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_0.dir<CONFIG_DIR>/",
|
||||
"REGEX:-[cv]",
|
||||
"PATH:<SOURCE_DIR>/exp-builddb/importable.cxx"
|
||||
],
|
||||
@@ -161,11 +299,9 @@
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option"
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option"
|
||||
],
|
||||
"local-arguments": [
|
||||
"-D_MBCS",
|
||||
@@ -182,13 +318,10 @@
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option"
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option"
|
||||
],
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"private": false,
|
||||
"provides": {
|
||||
"importable": "<IGNORE>"
|
||||
@@ -202,7 +335,171 @@
|
||||
},
|
||||
{
|
||||
"family-name": "REGEX:CXXModules::export_build_database@<HEX>",
|
||||
"name": "REGEX:CXXModules__export_build_database@synth_<HEX>@<CONFIG_OTHER>",
|
||||
"name": "CXXModules__export_build_database@synth_0@<CONFIG_OTHER>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
"<IGNORE>",
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_OTHER_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_0.dir<CONFIG_OTHER_DIR>/.d\"",
|
||||
"REGEX:<BMI_ONLY_FLAG>",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_0.dir<CONFIG_OTHER_DIR>/",
|
||||
"REGEX:-[cv]",
|
||||
"PATH:<SOURCE_DIR>/exp-builddb/importable.cxx"
|
||||
],
|
||||
"baseline-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_OTHER_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option"
|
||||
],
|
||||
"local-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_OTHER_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option"
|
||||
],
|
||||
"private": false,
|
||||
"provides": {
|
||||
"importable": "<IGNORE>"
|
||||
},
|
||||
"requires": [],
|
||||
"source": "PATH:<SOURCE_DIR>/exp-builddb/importable.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": []
|
||||
},
|
||||
{
|
||||
"family-name": "REGEX:CXXModules::export_build_database@<HEX>",
|
||||
"name": "CXXModules__export_build_database@synth_1@<CONFIG>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
"<IGNORE>",
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_1.dir<CONFIG_DIR>/.d\"",
|
||||
"REGEX:<BMI_ONLY_FLAG>",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_1.dir<CONFIG_DIR>/",
|
||||
"REGEX:-[cv]",
|
||||
"PATH:<SOURCE_DIR>/exp-builddb/importable.cxx"
|
||||
],
|
||||
"baseline-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"local-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"private": false,
|
||||
"provides": {
|
||||
"importable": "<IGNORE>"
|
||||
},
|
||||
"requires": [],
|
||||
"source": "PATH:<SOURCE_DIR>/exp-builddb/importable.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": []
|
||||
},
|
||||
{
|
||||
"family-name": "REGEX:CXXModules::export_build_database@<HEX>",
|
||||
"name": "CXXModules__export_build_database@synth_1@<CONFIG_OTHER>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
@@ -226,9 +523,9 @@
|
||||
"-Dtarget_public_option",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"REGEX:PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_<HEX>.dir<CONFIG_OTHER_DIR>/.d\"",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_1.dir<CONFIG_OTHER_DIR>/.d\"",
|
||||
"REGEX:<BMI_ONLY_FLAG>",
|
||||
"REGEX:PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_<HEX>.dir<CONFIG_OTHER_DIR>/",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_1.dir<CONFIG_OTHER_DIR>/",
|
||||
"REGEX:-[cv]",
|
||||
"PATH:<SOURCE_DIR>/exp-builddb/importable.cxx"
|
||||
],
|
||||
@@ -274,7 +571,6 @@
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces.dir<CONFIG_OTHER_DIR>/use.cxx<OBJEXT>",
|
||||
"private": false,
|
||||
"provides": {
|
||||
"importable": "<IGNORE>"
|
||||
|
||||
@@ -51,16 +51,165 @@
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"private": true,
|
||||
"provides": {},
|
||||
"requires": ["importable"],
|
||||
"requires": [
|
||||
"importable"
|
||||
],
|
||||
"source": "PATH:<SOURCE_DIR>/imp-mods/use.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": ["REGEX:CXXModules__export_build_database@synth_<HEX>@<CONFIG>"]
|
||||
"visible-sets": [
|
||||
"CXXModules__export_build_database@synth_0@<CONFIG>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"family-name": "use_import_interfaces_matching",
|
||||
"name": "use_import_interfaces_matching@<CONFIG>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
"<IGNORE>",
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/use_import_interfaces_matching.dir<CONFIG_DIR>/use.cxx<OBJEXT>.d\"",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/use_import_interfaces_matching.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"-c",
|
||||
"PATH:<SOURCE_DIR>/imp-mods/use.cxx"
|
||||
],
|
||||
"baseline-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"local-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces_matching.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"private": true,
|
||||
"provides": {},
|
||||
"requires": [
|
||||
"importable"
|
||||
],
|
||||
"source": "PATH:<SOURCE_DIR>/imp-mods/use.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": [
|
||||
"CXXModules__export_build_database@synth_1@<CONFIG>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"family-name": "REGEX:CXXModules::export_build_database@<HEX>",
|
||||
"name": "REGEX:CXXModules__export_build_database@synth_<HEX>@<CONFIG>",
|
||||
"name": "CXXModules__export_build_database@synth_0@<CONFIG>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
"<IGNORE>",
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_0.dir<CONFIG_DIR>/.d\"",
|
||||
"REGEX:<BMI_ONLY_FLAG>",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_0.dir<CONFIG_DIR>/",
|
||||
"REGEX:-[cv]",
|
||||
"PATH:<SOURCE_DIR>/exp-builddb/importable.cxx"
|
||||
],
|
||||
"baseline-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option"
|
||||
],
|
||||
"local-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option"
|
||||
],
|
||||
"private": false,
|
||||
"provides": {
|
||||
"importable": "<IGNORE>"
|
||||
},
|
||||
"requires": [],
|
||||
"source": "PATH:<SOURCE_DIR>/exp-builddb/importable.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": []
|
||||
},
|
||||
{
|
||||
"family-name": "REGEX:CXXModules::export_build_database@<HEX>",
|
||||
"name": "CXXModules__export_build_database@synth_1@<CONFIG>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
@@ -84,9 +233,9 @@
|
||||
"-Dtarget_public_option",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"REGEX:PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_<HEX>.dir<CONFIG_DIR>/.d\"",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_1.dir<CONFIG_DIR>/.d\"",
|
||||
"REGEX:<BMI_ONLY_FLAG>",
|
||||
"REGEX:PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_<HEX>.dir<CONFIG_DIR>/",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_1.dir<CONFIG_DIR>/",
|
||||
"REGEX:-[cv]",
|
||||
"PATH:<SOURCE_DIR>/exp-builddb/importable.cxx"
|
||||
],
|
||||
@@ -132,7 +281,6 @@
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"private": false,
|
||||
"provides": {
|
||||
"importable": "<IGNORE>"
|
||||
|
||||
@@ -51,16 +51,165 @@
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"private": true,
|
||||
"provides": {},
|
||||
"requires": ["importable"],
|
||||
"requires": [
|
||||
"importable"
|
||||
],
|
||||
"source": "PATH:<SOURCE_DIR>/imp-mods/use.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": ["REGEX:CXXModules__export_build_database@synth_<HEX>@<CONFIG>"]
|
||||
"visible-sets": [
|
||||
"CXXModules__export_build_database@synth_0@<CONFIG>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"family-name": "use_import_interfaces_matching",
|
||||
"name": "use_import_interfaces_matching@<CONFIG>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
"<IGNORE>",
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/use_import_interfaces_matching.dir<CONFIG_DIR>/use.cxx<OBJEXT>.d\"",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/use_import_interfaces_matching.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"-c",
|
||||
"PATH:<SOURCE_DIR>/imp-mods/use.cxx"
|
||||
],
|
||||
"baseline-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"local-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces_matching.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"private": true,
|
||||
"provides": {},
|
||||
"requires": [
|
||||
"importable"
|
||||
],
|
||||
"source": "PATH:<SOURCE_DIR>/imp-mods/use.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": [
|
||||
"CXXModules__export_build_database@synth_1@<CONFIG>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"family-name": "REGEX:CXXModules::export_build_database@<HEX>",
|
||||
"name": "REGEX:CXXModules__export_build_database@synth_<HEX>@<CONFIG>",
|
||||
"name": "CXXModules__export_build_database@synth_0@<CONFIG>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
"<IGNORE>",
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_0.dir<CONFIG_DIR>/.d\"",
|
||||
"REGEX:<BMI_ONLY_FLAG>",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_0.dir<CONFIG_DIR>/",
|
||||
"REGEX:-[cv]",
|
||||
"PATH:<SOURCE_DIR>/exp-builddb/importable.cxx"
|
||||
],
|
||||
"baseline-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option"
|
||||
],
|
||||
"local-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option"
|
||||
],
|
||||
"private": false,
|
||||
"provides": {
|
||||
"importable": "<IGNORE>"
|
||||
},
|
||||
"requires": [],
|
||||
"source": "PATH:<SOURCE_DIR>/exp-builddb/importable.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": []
|
||||
},
|
||||
{
|
||||
"family-name": "REGEX:CXXModules::export_build_database@<HEX>",
|
||||
"name": "CXXModules__export_build_database@synth_1@<CONFIG>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
@@ -84,9 +233,9 @@
|
||||
"-Dtarget_public_option",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"REGEX:PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_<HEX>.dir<CONFIG_DIR>/.d\"",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_1.dir<CONFIG_DIR>/.d\"",
|
||||
"REGEX:<BMI_ONLY_FLAG>",
|
||||
"REGEX:PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_<HEX>.dir<CONFIG_DIR>/",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_1.dir<CONFIG_DIR>/",
|
||||
"REGEX:-[cv]",
|
||||
"PATH:<SOURCE_DIR>/exp-builddb/importable.cxx"
|
||||
],
|
||||
@@ -132,7 +281,6 @@
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"private": false,
|
||||
"provides": {
|
||||
"importable": "<IGNORE>"
|
||||
|
||||
@@ -51,16 +51,165 @@
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"private": true,
|
||||
"provides": {},
|
||||
"requires": ["importable"],
|
||||
"requires": [
|
||||
"importable"
|
||||
],
|
||||
"source": "PATH:<SOURCE_DIR>/imp-mods/use.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": ["REGEX:CXXModules__export_build_database@synth_<HEX>@<CONFIG>"]
|
||||
"visible-sets": [
|
||||
"CXXModules__export_build_database@synth_0@<CONFIG>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"family-name": "use_import_interfaces_matching",
|
||||
"name": "use_import_interfaces_matching@<CONFIG>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
"<IGNORE>",
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/use_import_interfaces_matching.dir<CONFIG_DIR>/use.cxx<OBJEXT>.d\"",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/use_import_interfaces_matching.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"-c",
|
||||
"PATH:<SOURCE_DIR>/imp-mods/use.cxx"
|
||||
],
|
||||
"baseline-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"local-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces_matching.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"private": true,
|
||||
"provides": {},
|
||||
"requires": [
|
||||
"importable"
|
||||
],
|
||||
"source": "PATH:<SOURCE_DIR>/imp-mods/use.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": [
|
||||
"CXXModules__export_build_database@synth_1@<CONFIG>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"family-name": "REGEX:CXXModules::export_build_database@<HEX>",
|
||||
"name": "REGEX:CXXModules__export_build_database@synth_<HEX>@<CONFIG>",
|
||||
"name": "CXXModules__export_build_database@synth_0@<CONFIG>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
"<IGNORE>",
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_0.dir<CONFIG_DIR>/.d\"",
|
||||
"REGEX:<BMI_ONLY_FLAG>",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_0.dir<CONFIG_DIR>/",
|
||||
"REGEX:-[cv]",
|
||||
"PATH:<SOURCE_DIR>/exp-builddb/importable.cxx"
|
||||
],
|
||||
"baseline-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option"
|
||||
],
|
||||
"local-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option"
|
||||
],
|
||||
"private": false,
|
||||
"provides": {
|
||||
"importable": "<IGNORE>"
|
||||
},
|
||||
"requires": [],
|
||||
"source": "PATH:<SOURCE_DIR>/exp-builddb/importable.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": []
|
||||
},
|
||||
{
|
||||
"family-name": "REGEX:CXXModules::export_build_database@<HEX>",
|
||||
"name": "CXXModules__export_build_database@synth_1@<CONFIG>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
@@ -84,9 +233,9 @@
|
||||
"-Dtarget_public_option",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"REGEX:PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_<HEX>.dir<CONFIG_DIR>/.d\"",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_1.dir<CONFIG_DIR>/.d\"",
|
||||
"REGEX:<BMI_ONLY_FLAG>",
|
||||
"REGEX:PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_<HEX>.dir<CONFIG_DIR>/",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_1.dir<CONFIG_DIR>/",
|
||||
"REGEX:-[cv]",
|
||||
"PATH:<SOURCE_DIR>/exp-builddb/importable.cxx"
|
||||
],
|
||||
@@ -132,7 +281,6 @@
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"private": false,
|
||||
"provides": {
|
||||
"importable": "<IGNORE>"
|
||||
|
||||
@@ -51,12 +51,16 @@
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"private": true,
|
||||
"provides": {},
|
||||
"requires": ["importable"],
|
||||
"requires": [
|
||||
"importable"
|
||||
],
|
||||
"source": "PATH:<SOURCE_DIR>/imp-mods/use.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": ["REGEX:CXXModules__export_build_database@synth_<HEX>@<CONFIG>"]
|
||||
"visible-sets": [
|
||||
"CXXModules__export_build_database@synth_0@<CONFIG>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"family-name": "use_import_interfaces",
|
||||
@@ -107,16 +111,152 @@
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces.dir<CONFIG_OTHER_DIR>/use.cxx<OBJEXT>",
|
||||
"private": true,
|
||||
"provides": {},
|
||||
"requires": ["importable"],
|
||||
"requires": [
|
||||
"importable"
|
||||
],
|
||||
"source": "PATH:<SOURCE_DIR>/imp-mods/use.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": ["REGEX:CXXModules__export_build_database@synth_<HEX>@<CONFIG_OTHER>"]
|
||||
"visible-sets": [
|
||||
"CXXModules__export_build_database@synth_0@<CONFIG_OTHER>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"family-name": "use_import_interfaces_matching",
|
||||
"name": "use_import_interfaces_matching@<CONFIG>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
"<IGNORE>",
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/use_import_interfaces_matching.dir<CONFIG_DIR>/use.cxx<OBJEXT>.d\"",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/use_import_interfaces_matching.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"-c",
|
||||
"PATH:<SOURCE_DIR>/imp-mods/use.cxx"
|
||||
],
|
||||
"baseline-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"local-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces_matching.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"private": true,
|
||||
"provides": {},
|
||||
"requires": [
|
||||
"importable"
|
||||
],
|
||||
"source": "PATH:<SOURCE_DIR>/imp-mods/use.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": [
|
||||
"CXXModules__export_build_database@synth_1@<CONFIG>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"family-name": "use_import_interfaces_matching",
|
||||
"name": "use_import_interfaces_matching@<CONFIG_OTHER>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
"<IGNORE>",
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_OTHER_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/use_import_interfaces_matching.dir<CONFIG_OTHER_DIR>/use.cxx<OBJEXT>.d\"",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/use_import_interfaces_matching.dir<CONFIG_OTHER_DIR>/use.cxx<OBJEXT>",
|
||||
"-c",
|
||||
"PATH:<SOURCE_DIR>/imp-mods/use.cxx"
|
||||
],
|
||||
"baseline-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_OTHER_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"local-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_OTHER_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces_matching.dir<CONFIG_OTHER_DIR>/use.cxx<OBJEXT>",
|
||||
"private": true,
|
||||
"provides": {},
|
||||
"requires": [
|
||||
"importable"
|
||||
],
|
||||
"source": "PATH:<SOURCE_DIR>/imp-mods/use.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": [
|
||||
"CXXModules__export_build_database@synth_1@<CONFIG_OTHER>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"family-name": "REGEX:CXXModules::export_build_database@<HEX>",
|
||||
"name": "REGEX:CXXModules__export_build_database@synth_<HEX>@<CONFIG>",
|
||||
"name": "CXXModules__export_build_database@synth_0@<CONFIG>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
@@ -135,14 +275,12 @@
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"REGEX:PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_<HEX>.dir<CONFIG_DIR>/.d\"",
|
||||
"-Dtarget_public_option",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_0.dir<CONFIG_DIR>/.d\"",
|
||||
"REGEX:<BMI_ONLY_FLAG>",
|
||||
"REGEX:PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_<HEX>.dir<CONFIG_DIR>/",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_0.dir<CONFIG_DIR>/",
|
||||
"REGEX:-[cv]",
|
||||
"PATH:<SOURCE_DIR>/exp-builddb/importable.cxx"
|
||||
],
|
||||
@@ -161,11 +299,9 @@
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option"
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option"
|
||||
],
|
||||
"local-arguments": [
|
||||
"-D_MBCS",
|
||||
@@ -182,13 +318,10 @@
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option"
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option"
|
||||
],
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"private": false,
|
||||
"provides": {
|
||||
"importable": "<IGNORE>"
|
||||
@@ -202,7 +335,171 @@
|
||||
},
|
||||
{
|
||||
"family-name": "REGEX:CXXModules::export_build_database@<HEX>",
|
||||
"name": "REGEX:CXXModules__export_build_database@synth_<HEX>@<CONFIG_OTHER>",
|
||||
"name": "CXXModules__export_build_database@synth_0@<CONFIG_OTHER>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
"<IGNORE>",
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_OTHER_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_0.dir<CONFIG_OTHER_DIR>/.d\"",
|
||||
"REGEX:<BMI_ONLY_FLAG>",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_0.dir<CONFIG_OTHER_DIR>/",
|
||||
"REGEX:-[cv]",
|
||||
"PATH:<SOURCE_DIR>/exp-builddb/importable.cxx"
|
||||
],
|
||||
"baseline-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_OTHER_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option"
|
||||
],
|
||||
"local-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_OTHER_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option"
|
||||
],
|
||||
"private": false,
|
||||
"provides": {
|
||||
"importable": "<IGNORE>"
|
||||
},
|
||||
"requires": [],
|
||||
"source": "PATH:<SOURCE_DIR>/exp-builddb/importable.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": []
|
||||
},
|
||||
{
|
||||
"family-name": "REGEX:CXXModules::export_build_database@<HEX>",
|
||||
"name": "CXXModules__export_build_database@synth_1@<CONFIG>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
"<IGNORE>",
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_1.dir<CONFIG_DIR>/.d\"",
|
||||
"REGEX:<BMI_ONLY_FLAG>",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_1.dir<CONFIG_DIR>/",
|
||||
"REGEX:-[cv]",
|
||||
"PATH:<SOURCE_DIR>/exp-builddb/importable.cxx"
|
||||
],
|
||||
"baseline-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"local-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"private": false,
|
||||
"provides": {
|
||||
"importable": "<IGNORE>"
|
||||
},
|
||||
"requires": [],
|
||||
"source": "PATH:<SOURCE_DIR>/exp-builddb/importable.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": []
|
||||
},
|
||||
{
|
||||
"family-name": "REGEX:CXXModules::export_build_database@<HEX>",
|
||||
"name": "CXXModules__export_build_database@synth_1@<CONFIG_OTHER>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
@@ -226,9 +523,9 @@
|
||||
"-Dtarget_public_option",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"REGEX:PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_<HEX>.dir<CONFIG_OTHER_DIR>/.d\"",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_1.dir<CONFIG_OTHER_DIR>/.d\"",
|
||||
"REGEX:<BMI_ONLY_FLAG>",
|
||||
"REGEX:PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_<HEX>.dir<CONFIG_OTHER_DIR>/",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_1.dir<CONFIG_OTHER_DIR>/",
|
||||
"REGEX:-[cv]",
|
||||
"PATH:<SOURCE_DIR>/exp-builddb/importable.cxx"
|
||||
],
|
||||
@@ -274,7 +571,6 @@
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces.dir<CONFIG_OTHER_DIR>/use.cxx<OBJEXT>",
|
||||
"private": false,
|
||||
"provides": {
|
||||
"importable": "<IGNORE>"
|
||||
|
||||
@@ -51,16 +51,165 @@
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"private": true,
|
||||
"provides": {},
|
||||
"requires": ["importable"],
|
||||
"requires": [
|
||||
"importable"
|
||||
],
|
||||
"source": "PATH:<SOURCE_DIR>/imp-mods/use.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": ["REGEX:CXXModules__export_build_database@synth_<HEX>@<CONFIG>"]
|
||||
"visible-sets": [
|
||||
"CXXModules__export_build_database@synth_0@<CONFIG>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"family-name": "use_import_interfaces_matching",
|
||||
"name": "use_import_interfaces_matching@<CONFIG>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
"<IGNORE>",
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/use_import_interfaces_matching.dir<CONFIG_DIR>/use.cxx<OBJEXT>.d\"",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/use_import_interfaces_matching.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"-c",
|
||||
"PATH:<SOURCE_DIR>/imp-mods/use.cxx"
|
||||
],
|
||||
"baseline-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"local-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces_matching.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"private": true,
|
||||
"provides": {},
|
||||
"requires": [
|
||||
"importable"
|
||||
],
|
||||
"source": "PATH:<SOURCE_DIR>/imp-mods/use.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": [
|
||||
"CXXModules__export_build_database@synth_1@<CONFIG>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"family-name": "REGEX:CXXModules::export_build_database@<HEX>",
|
||||
"name": "REGEX:CXXModules__export_build_database@synth_<HEX>@<CONFIG>",
|
||||
"name": "CXXModules__export_build_database@synth_0@<CONFIG>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
"<IGNORE>",
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_0.dir<CONFIG_DIR>/.d\"",
|
||||
"REGEX:<BMI_ONLY_FLAG>",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_0.dir<CONFIG_DIR>/",
|
||||
"REGEX:-[cv]",
|
||||
"PATH:<SOURCE_DIR>/exp-builddb/importable.cxx"
|
||||
],
|
||||
"baseline-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option"
|
||||
],
|
||||
"local-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Ddep_interface_define",
|
||||
"-Dfrom_compile_definitions",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_private_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/from_include_directories",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_private_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/dep_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"-Dtarget_public_option"
|
||||
],
|
||||
"private": false,
|
||||
"provides": {
|
||||
"importable": "<IGNORE>"
|
||||
},
|
||||
"requires": [],
|
||||
"source": "PATH:<SOURCE_DIR>/exp-builddb/importable.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": []
|
||||
},
|
||||
{
|
||||
"family-name": "REGEX:CXXModules::export_build_database@<HEX>",
|
||||
"name": "CXXModules__export_build_database@synth_1@<CONFIG>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
@@ -84,9 +233,9 @@
|
||||
"-Dtarget_public_option",
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option",
|
||||
"REGEX:PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_<HEX>.dir<CONFIG_DIR>/.d\"",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/CXXModules__export_build_database@synth_1.dir<CONFIG_DIR>/.d\"",
|
||||
"REGEX:<BMI_ONLY_FLAG>",
|
||||
"REGEX:PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_<HEX>.dir<CONFIG_DIR>/",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/CXXModules__export_build_database@synth_1.dir<CONFIG_DIR>/",
|
||||
"REGEX:-[cv]",
|
||||
"PATH:<SOURCE_DIR>/exp-builddb/importable.cxx"
|
||||
],
|
||||
@@ -132,7 +281,6 @@
|
||||
"-Ddep_interface_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"private": false,
|
||||
"provides": {
|
||||
"importable": "<IGNORE>"
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
{
|
||||
"version": 1,
|
||||
"revision": 0,
|
||||
"sets": [
|
||||
{
|
||||
"family-name": "use_import_interfaces_matching",
|
||||
"name": "use_import_interfaces_matching@<CONFIG>",
|
||||
"translation-units": [
|
||||
{
|
||||
"arguments": [
|
||||
"<IGNORE>",
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option",
|
||||
"PATH:-Ddepflag=\"CMakeFiles/use_import_interfaces_matching.dir<CONFIG_DIR>/use.cxx<OBJEXT>.d\"",
|
||||
"PATH:<OUTPUT_FLAG>CMakeFiles/use_import_interfaces_matching.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"-c",
|
||||
"PATH:<SOURCE_DIR>/imp-mods/use.cxx"
|
||||
],
|
||||
"baseline-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"local-arguments": [
|
||||
"-D_MBCS",
|
||||
"-Dtarget_interface_define",
|
||||
"-Dtarget_public_define",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_interface_include",
|
||||
"PATH:-I<SOURCE_DIR>/exp-builddb/target_public_include",
|
||||
"-Dfrom_cmake_cxx_flags",
|
||||
"-Dfrom_cmake_cxx_<CONFIG_LOWER>_flags",
|
||||
"<CXX20_OPTION>",
|
||||
"-Dfrom_compile_options",
|
||||
"-Dtarget_private_option",
|
||||
"-Dtarget_public_option",
|
||||
"-Dtarget_interface_option"
|
||||
],
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces_matching.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"private": true,
|
||||
"provides": {},
|
||||
"requires": [
|
||||
"importable"
|
||||
],
|
||||
"source": "PATH:<SOURCE_DIR>/imp-mods/use.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": [
|
||||
"CXXModules__export_build_database@synth_1@<CONFIG>"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -51,12 +51,16 @@
|
||||
"object": "PATH:CMakeFiles/use_import_interfaces.dir<CONFIG_DIR>/use.cxx<OBJEXT>",
|
||||
"private": true,
|
||||
"provides": {},
|
||||
"requires": ["importable"],
|
||||
"requires": [
|
||||
"importable"
|
||||
],
|
||||
"source": "PATH:<SOURCE_DIR>/imp-mods/use.cxx",
|
||||
"work-directory": "<BINARY_DIR>"
|
||||
}
|
||||
],
|
||||
"visible-sets": ["REGEX:CXXModules__export_build_database@synth_<HEX>@<CONFIG>"]
|
||||
"visible-sets": [
|
||||
"CXXModules__export_build_database@synth_0@<CONFIG>"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+3
@@ -8,15 +8,18 @@ if (RunCMake_GENERATOR_IS_MULTI_CONFIG)
|
||||
check_build_database("exp-builddb-imped" "build_database_CXX_Debug.json" CXX_AND_DEBUG)
|
||||
check_build_database("exp-builddb-imped" "build_database_Debug.json" JUST_DEBUG)
|
||||
check_build_database("exp-builddb-imped" "CMakeFiles/use_import_interfaces.dir/Debug/CXX_build_database.json" JUST_TARGET_DEBUG)
|
||||
check_build_database("exp-builddb-imped-matching" "CMakeFiles/use_import_interfaces_matching.dir/Debug/CXX_build_database.json" JUST_TARGET_DEBUG)
|
||||
|
||||
check_build_database("exp-builddb-imped" "build_database_CXX_Release.json" CXX_AND_RELEASE)
|
||||
check_build_database("exp-builddb-imped" "build_database_Release.json" JUST_RELEASE)
|
||||
check_build_database("exp-builddb-imped" "CMakeFiles/use_import_interfaces.dir/Release/CXX_build_database.json" JUST_TARGET_RELEASE)
|
||||
check_build_database("exp-builddb-imped-matching" "CMakeFiles/use_import_interfaces_matching.dir/Release/CXX_build_database.json" JUST_TARGET_RELEASE)
|
||||
else ()
|
||||
check_build_database("exp-builddb-imped" "build_database.json" ALL)
|
||||
check_build_database("exp-builddb-imped" "build_database_CXX.json" JUST_CXX)
|
||||
|
||||
check_build_database("exp-builddb-imped" "CMakeFiles/use_import_interfaces.dir/CXX_build_database.json" JUST_TARGET)
|
||||
check_build_database("exp-builddb-imped-matching" "CMakeFiles/use_import_interfaces_matching.dir/CXX_build_database.json" JUST_TARGET)
|
||||
endif ()
|
||||
|
||||
string(REPLACE ";" "\n " RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}")
|
||||
|
||||
+3
@@ -9,14 +9,17 @@ if (RunCMake_GENERATOR_IS_MULTI_CONFIG)
|
||||
check_build_database("exp-builddb-imped" "build_database_CXX_Debug.json" CXX_AND_DEBUG)
|
||||
check_build_database("exp-builddb-imped" "build_database_Debug.json" JUST_DEBUG)
|
||||
check_build_database("exp-builddb-imped" "CMakeFiles/use_import_interfaces.dir/Debug/CXX_build_database.json" JUST_TARGET_DEBUG)
|
||||
check_build_database("exp-builddb-imped-matching" "CMakeFiles/use_import_interfaces_matching.dir/Debug/CXX_build_database.json" JUST_TARGET_DEBUG)
|
||||
|
||||
check_build_database("exp-builddb-imped" "build_database_CXX_Release.json" CXX_AND_RELEASE)
|
||||
check_build_database("exp-builddb-imped" "build_database_Release.json" JUST_RELEASE)
|
||||
check_build_database("exp-builddb-imped" "CMakeFiles/use_import_interfaces.dir/Release/CXX_build_database.json" JUST_TARGET_RELEASE)
|
||||
check_build_database("exp-builddb-imped-matching" "CMakeFiles/use_import_interfaces_matching.dir/Release/CXX_build_database.json" JUST_TARGET_RELEASE)
|
||||
else ()
|
||||
check_build_database("exp-builddb-imped" "build_database_CXX.json" JUST_CXX)
|
||||
|
||||
check_build_database("exp-builddb-imped" "CMakeFiles/use_import_interfaces.dir/CXX_build_database.json" JUST_TARGET)
|
||||
check_build_database("exp-builddb-imped-matching" "CMakeFiles/use_import_interfaces_matching.dir/CXX_build_database.json" JUST_TARGET)
|
||||
endif ()
|
||||
|
||||
string(REPLACE ";" "\n " RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}")
|
||||
|
||||
+3
@@ -8,12 +8,15 @@ if (RunCMake_GENERATOR_IS_MULTI_CONFIG)
|
||||
check_build_database("exp-builddb-imped" "build_database_CXX_Debug.json" CXX_AND_DEBUG)
|
||||
check_build_database("exp-builddb-imped" "build_database_Debug.json" NO_EXIST)
|
||||
check_build_database("exp-builddb-imped" "CMakeFiles/use_import_interfaces.dir/Debug/CXX_build_database.json" JUST_TARGET_DEBUG)
|
||||
check_build_database("exp-builddb-imped-matching" "CMakeFiles/use_import_interfaces_matching.dir/Debug/CXX_build_database.json" JUST_TARGET_DEBUG)
|
||||
|
||||
check_build_database("exp-builddb-imped" "build_database_CXX_Release.json" NO_EXIST)
|
||||
check_build_database("exp-builddb-imped" "build_database_Release.json" NO_EXIST)
|
||||
check_build_database("exp-builddb-imped" "CMakeFiles/use_import_interfaces.dir/Release/CXX_build_database.json" NO_EXIST)
|
||||
check_build_database("exp-builddb-imped-matching" "CMakeFiles/use_import_interfaces_matching.dir/Release/CXX_build_database.json" NO_EXIST)
|
||||
else ()
|
||||
check_build_database("exp-builddb-imped" "CMakeFiles/use_import_interfaces.dir/CXX_build_database.json" JUST_TARGET)
|
||||
check_build_database("exp-builddb-imped-matching" "CMakeFiles/use_import_interfaces_matching.dir/CXX_build_database.json" JUST_TARGET)
|
||||
endif ()
|
||||
|
||||
string(REPLACE ";" "\n " RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}")
|
||||
|
||||
+3
@@ -8,12 +8,15 @@ if (RunCMake_GENERATOR_IS_MULTI_CONFIG)
|
||||
check_build_database("exp-builddb-imped" "build_database_CXX_Debug.json" CXX_AND_DEBUG)
|
||||
check_build_database("exp-builddb-imped" "build_database_Debug.json" JUST_DEBUG)
|
||||
check_build_database("exp-builddb-imped" "CMakeFiles/use_import_interfaces.dir/Debug/CXX_build_database.json" JUST_TARGET_DEBUG)
|
||||
check_build_database("exp-builddb-imped-matching" "CMakeFiles/use_import_interfaces_matching.dir/Debug/CXX_build_database.json" JUST_TARGET_DEBUG)
|
||||
|
||||
check_build_database("exp-builddb-imped" "build_database_CXX_Release.json" CXX_AND_RELEASE)
|
||||
check_build_database("exp-builddb-imped" "build_database_Release.json" NO_EXIST)
|
||||
check_build_database("exp-builddb-imped" "CMakeFiles/use_import_interfaces.dir/Release/CXX_build_database.json" JUST_TARGET_RELEASE)
|
||||
check_build_database("exp-builddb-imped-matching" "CMakeFiles/use_import_interfaces_matching.dir/Release/CXX_build_database.json" JUST_TARGET_RELEASE)
|
||||
else ()
|
||||
check_build_database("exp-builddb-imped" "CMakeFiles/use_import_interfaces.dir/CXX_build_database.json" JUST_TARGET)
|
||||
check_build_database("exp-builddb-imped-matching" "CMakeFiles/use_import_interfaces_matching.dir/CXX_build_database.json" JUST_TARGET)
|
||||
endif ()
|
||||
|
||||
string(REPLACE ";" "\n " RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}")
|
||||
|
||||
+3
@@ -8,12 +8,15 @@ if (RunCMake_GENERATOR_IS_MULTI_CONFIG)
|
||||
check_build_database("exp-builddb-imped" "build_database_CXX_Debug.json" CXX_AND_DEBUG)
|
||||
check_build_database("exp-builddb-imped" "build_database_Debug.json" JUST_DEBUG)
|
||||
check_build_database("exp-builddb-imped" "CMakeFiles/use_import_interfaces.dir/Debug/CXX_build_database.json" JUST_TARGET_DEBUG)
|
||||
check_build_database("exp-builddb-imped-matching" "CMakeFiles/use_import_interfaces_matching.dir/Debug/CXX_build_database.json" JUST_TARGET_DEBUG)
|
||||
|
||||
check_build_database("exp-builddb-imped" "build_database_CXX_Release.json" NO_EXIST)
|
||||
check_build_database("exp-builddb-imped" "build_database_Release.json" NO_EXIST)
|
||||
check_build_database("exp-builddb-imped" "CMakeFiles/use_import_interfaces.dir/Release/CXX_build_database.json" NO_EXIST)
|
||||
check_build_database("exp-builddb-imped-matching" "CMakeFiles/use_import_interfaces_matching.dir/Release/CXX_build_database.json" NO_EXIST)
|
||||
else ()
|
||||
check_build_database("exp-builddb-imped" "CMakeFiles/use_import_interfaces.dir/CXX_build_database.json" JUST_TARGET)
|
||||
check_build_database("exp-builddb-imped-matching" "CMakeFiles/use_import_interfaces_matching.dir/CXX_build_database.json" JUST_TARGET)
|
||||
endif ()
|
||||
|
||||
string(REPLACE ";" "\n " RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}")
|
||||
|
||||
+3
@@ -8,12 +8,15 @@ if (RunCMake_GENERATOR_IS_MULTI_CONFIG)
|
||||
check_build_database("exp-builddb-imped" "build_database_CXX_Debug.json" CXX_AND_DEBUG)
|
||||
check_build_database("exp-builddb-imped" "build_database_Debug.json" JUST_DEBUG)
|
||||
check_build_database("exp-builddb-imped" "CMakeFiles/use_import_interfaces.dir/Debug/CXX_build_database.json" JUST_TARGET_DEBUG)
|
||||
check_build_database("exp-builddb-imped-matching" "CMakeFiles/use_import_interfaces_matching.dir/Debug/CXX_build_database.json" JUST_TARGET_DEBUG)
|
||||
|
||||
check_build_database("exp-builddb-imped" "build_database_CXX_Release.json" CXX_AND_RELEASE)
|
||||
check_build_database("exp-builddb-imped" "build_database_Release.json" JUST_RELEASE)
|
||||
check_build_database("exp-builddb-imped" "CMakeFiles/use_import_interfaces.dir/Release/CXX_build_database.json" JUST_TARGET_RELEASE)
|
||||
check_build_database("exp-builddb-imped-matching" "CMakeFiles/use_import_interfaces_matching.dir/Release/CXX_build_database.json" JUST_TARGET_RELEASE)
|
||||
else ()
|
||||
check_build_database("exp-builddb-imped" "CMakeFiles/use_import_interfaces.dir/CXX_build_database.json" JUST_TARGET)
|
||||
check_build_database("exp-builddb-imped-matching" "CMakeFiles/use_import_interfaces_matching.dir/CXX_build_database.json" JUST_TARGET)
|
||||
endif ()
|
||||
|
||||
string(REPLACE ";" "\n " RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}")
|
||||
|
||||
@@ -56,3 +56,23 @@ if (BUILD_DATABASE AND
|
||||
endif ()
|
||||
|
||||
add_test(NAME use_import_interfaces COMMAND use_import_interfaces)
|
||||
|
||||
if (BUILD_DATABASE)
|
||||
add_executable(use_import_interfaces_matching)
|
||||
target_sources(use_import_interfaces_matching
|
||||
PRIVATE
|
||||
use.cxx)
|
||||
target_compile_features(use_import_interfaces_matching PRIVATE cxx_std_20)
|
||||
target_compile_options(use_import_interfaces_matching PRIVATE
|
||||
-Dfrom_compile_options
|
||||
-Dtarget_private_option
|
||||
-Dtarget_public_option)
|
||||
target_link_libraries(use_import_interfaces_matching PRIVATE "${target_name}")
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
|
||||
CMAKE_CXX_SIMULATE_ID STREQUAL "MSVC")
|
||||
target_link_libraries(use_import_interfaces_matching PRIVATE libcmt)
|
||||
endif ()
|
||||
|
||||
add_test(NAME use_import_interfaces_matching COMMAND use_import_interfaces_matching)
|
||||
endif ()
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
# Verify the build system generated a synthetic target/BMI for each unique importer
|
||||
# Verify the build system reused the owning target BMI when compatible and
|
||||
# generated a synthetic target BMI only for the incompatible importer.
|
||||
set(expected_consumers consumer20 consumer23)
|
||||
set(linked_dir_keys "")
|
||||
set(linked_dir_names "")
|
||||
@@ -31,9 +32,23 @@ foreach (consumer IN LISTS expected_consumers)
|
||||
string(JSON linked_dirs_len LENGTH "${depend_info_json}" "linked-target-dirs")
|
||||
string(JSON linked_dirs GET "${depend_info_json}" "linked-target-dirs")
|
||||
|
||||
if (consumer STREQUAL "consumer20")
|
||||
set(expected_linked_tgt_regex "^importable\.dir$")
|
||||
set(expected_linked_tgt_desc "owning target dir for 'importable'")
|
||||
set(expected_linked_tgt_has_bmi 0)
|
||||
elseif (consumer STREQUAL "consumer23")
|
||||
set(expected_linked_tgt_regex "^importable@synth_[A-Za-z0-9_]+\.dir$")
|
||||
set(expected_linked_tgt_desc "synthetic target dir for 'importable'")
|
||||
set(expected_linked_tgt_has_bmi 1)
|
||||
else ()
|
||||
list(APPEND RunCMake_TEST_FAILED
|
||||
"No linked target expectation defined for consumer '${consumer}'")
|
||||
continue()
|
||||
endif ()
|
||||
|
||||
if (NOT linked_dirs_len GREATER 0)
|
||||
list(APPEND RunCMake_TEST_FAILED
|
||||
"Consumer '${consumer}' has no linked-target-dirs but expected synthetic target for 'importable'")
|
||||
"Consumer '${consumer}' has no linked-target-dirs but expected ${expected_linked_tgt_desc}")
|
||||
continue()
|
||||
endif ()
|
||||
|
||||
@@ -54,10 +69,9 @@ foreach (consumer IN LISTS expected_consumers)
|
||||
|
||||
cmake_path(GET linked_tgt_root FILENAME linked_tgt_name)
|
||||
|
||||
# Verify it is a synthetic target for the 'importable' library
|
||||
if (NOT linked_tgt_name MATCHES "^importable@synth_[A-Za-z0-9_]+\.dir$")
|
||||
if (NOT linked_tgt_name MATCHES "${expected_linked_tgt_regex}")
|
||||
list(APPEND RunCMake_TEST_FAILED
|
||||
"Consumer '${consumer}' should link to synthetic target dir for 'importable' but found ${linked_dir}")
|
||||
"Consumer '${consumer}' should link to ${expected_linked_tgt_desc} but found ${linked_dir}")
|
||||
continue()
|
||||
endif ()
|
||||
|
||||
@@ -67,33 +81,37 @@ foreach (consumer IN LISTS expected_consumers)
|
||||
set(linked_output_dir "${linked_dir}")
|
||||
endif ()
|
||||
|
||||
# Verify the synthetic target dir exists and contains a BMI
|
||||
# Verify the linked target dir exists and contains a BMI
|
||||
if (NOT EXISTS "${linked_dir}")
|
||||
list(APPEND RunCMake_TEST_FAILED
|
||||
"Consumer '${consumer}' links to synthetic target directory that does not exist: ${linked_dir}")
|
||||
"Consumer '${consumer}' links to target directory that does not exist: ${linked_dir}")
|
||||
continue()
|
||||
endif ()
|
||||
|
||||
file(GLOB_RECURSE bmi_files "${linked_dir}/*.bmi")
|
||||
if (NOT bmi_files)
|
||||
list(APPEND RunCMake_TEST_FAILED
|
||||
"No BMI files found in synthetic target directory: ${linked_dir}")
|
||||
continue()
|
||||
if (expected_linked_tgt_has_bmi)
|
||||
file(GLOB_RECURSE bmi_files "${linked_dir}/*.bmi")
|
||||
if (NOT bmi_files)
|
||||
list(APPEND RunCMake_TEST_FAILED
|
||||
"No BMI files found in target directory: ${linked_dir}")
|
||||
continue()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# Record the consumers of each linked dir to verify uniqueness
|
||||
string(REGEX REPLACE "[^A-Za-z0-9_]" "_" linked_dir_key "${linked_tgt_name}")
|
||||
set(linked_dir_consumers_var "linked_dir_consumers_${linked_dir_key}")
|
||||
if (NOT DEFINED ${linked_dir_consumers_var})
|
||||
list(APPEND linked_dir_keys "${linked_dir_key}")
|
||||
list(APPEND linked_dir_names "${linked_tgt_name}")
|
||||
endif ()
|
||||
if (linked_tgt_name MATCHES "^importable@synth_[A-Za-z0-9_]+\.dir$")
|
||||
# Record the consumers of each synthetic dir to verify uniqueness.
|
||||
string(REGEX REPLACE "[^A-Za-z0-9_]" "_" linked_dir_key "${linked_tgt_name}")
|
||||
set(linked_dir_consumers_var "linked_dir_consumers_${linked_dir_key}")
|
||||
if (NOT DEFINED ${linked_dir_consumers_var})
|
||||
list(APPEND linked_dir_keys "${linked_dir_key}")
|
||||
list(APPEND linked_dir_names "${linked_tgt_name}")
|
||||
endif ()
|
||||
|
||||
list(APPEND ${linked_dir_consumers_var} ${consumer})
|
||||
list(APPEND ${linked_dir_consumers_var} ${consumer})
|
||||
endif ()
|
||||
|
||||
endforeach ()
|
||||
|
||||
# Verify each synthetic target is consumed exactly once
|
||||
# Verify each synthetic target is consumed exactly once.
|
||||
foreach (linked_dir_key IN LISTS linked_dir_keys)
|
||||
set(consumers "${linked_dir_consumers_${linked_dir_key}}")
|
||||
list(LENGTH consumers linked_dir_consumer_count)
|
||||
@@ -104,7 +122,7 @@ foreach (linked_dir_key IN LISTS linked_dir_keys)
|
||||
|
||||
string(JOIN ", " linked_dir_consumers_joined ${consumers})
|
||||
list(APPEND RunCMake_TEST_FAILED
|
||||
"Expected per-importer BMI generation, but '${linked_tgt_name}' is linked to by multiple targets: ${linked_dir_consumers_joined}")
|
||||
"Expected per-compatibility synthetic BMI generation, but '${linked_tgt_name}' is linked to by multiple targets: ${linked_dir_consumers_joined}")
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user