1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-16 05:26:58 +08:00

Merge branch 'backport-ninja-no-cleandead' into ninja-no-cleandead

This commit is contained in:
Brad King
2020-12-14 10:14:19 -05:00
2 changed files with 1 additions and 15 deletions

View File

@@ -581,18 +581,9 @@ void cmGlobalNinjaGenerator::CleanMetaData()
// Skip some ninja tools if they need 'build.ninja' but it is missing.
bool const missingBuildManifest = expectBuildManifest &&
(this->NinjaSupportsCleanDeadTool ||
this->NinjaSupportsUnconditionalRecompactTool) &&
this->NinjaSupportsUnconditionalRecompactTool &&
!cmSystemTools::FileExists("build.ninja");
// The `cleandead` tool needs to know about all outputs in the build we just
// wrote out. Ninja-Multi doesn't have a single `build.ninja` we can use that
// is the union of all generated configurations, so we can't run it reliably
// in that case.
if (this->NinjaSupportsCleanDeadTool && !this->DisableCleandead &&
expectBuildManifest && !missingBuildManifest) {
run_ninja_tool({ "cleandead" });
}
// The `recompact` tool loads the manifest. As above, we don't have a single
// `build.ninja` to load for this in Ninja-Multi. This may be relaxed in the
// future pending further investigation into how Ninja works upstream
@@ -679,9 +670,6 @@ void cmGlobalNinjaGenerator::CheckNinjaFeatures()
}
}
}
this->NinjaSupportsCleanDeadTool = !cmSystemTools::VersionCompare(
cmSystemTools::OP_LESS, this->NinjaVersion.c_str(),
RequiredNinjaVersionForCleanDeadTool().c_str());
this->NinjaSupportsUnconditionalRecompactTool =
!cmSystemTools::VersionCompare(
cmSystemTools::OP_LESS, this->NinjaVersion.c_str(),

View File

@@ -368,7 +368,6 @@ public:
{
return "1.10";
}
static std::string RequiredNinjaVersionForCleanDeadTool() { return "1.10"; }
static std::string RequiredNinjaVersionForMultipleOutputs()
{
return "1.10";
@@ -540,7 +539,6 @@ private:
bool NinjaSupportsDyndeps = false;
bool NinjaSupportsRestatTool = false;
bool NinjaSupportsUnconditionalRecompactTool = false;
bool NinjaSupportsCleanDeadTool = false;
bool NinjaSupportsMultipleOutputs = false;
bool NinjaSupportsMetadataOnRegeneration = false;