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:
@@ -581,18 +581,9 @@ void cmGlobalNinjaGenerator::CleanMetaData()
|
|||||||
|
|
||||||
// Skip some ninja tools if they need 'build.ninja' but it is missing.
|
// Skip some ninja tools if they need 'build.ninja' but it is missing.
|
||||||
bool const missingBuildManifest = expectBuildManifest &&
|
bool const missingBuildManifest = expectBuildManifest &&
|
||||||
(this->NinjaSupportsCleanDeadTool ||
|
this->NinjaSupportsUnconditionalRecompactTool &&
|
||||||
this->NinjaSupportsUnconditionalRecompactTool) &&
|
|
||||||
!cmSystemTools::FileExists("build.ninja");
|
!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
|
// 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
|
// `build.ninja` to load for this in Ninja-Multi. This may be relaxed in the
|
||||||
// future pending further investigation into how Ninja works upstream
|
// 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 =
|
this->NinjaSupportsUnconditionalRecompactTool =
|
||||||
!cmSystemTools::VersionCompare(
|
!cmSystemTools::VersionCompare(
|
||||||
cmSystemTools::OP_LESS, this->NinjaVersion.c_str(),
|
cmSystemTools::OP_LESS, this->NinjaVersion.c_str(),
|
||||||
|
@@ -368,7 +368,6 @@ public:
|
|||||||
{
|
{
|
||||||
return "1.10";
|
return "1.10";
|
||||||
}
|
}
|
||||||
static std::string RequiredNinjaVersionForCleanDeadTool() { return "1.10"; }
|
|
||||||
static std::string RequiredNinjaVersionForMultipleOutputs()
|
static std::string RequiredNinjaVersionForMultipleOutputs()
|
||||||
{
|
{
|
||||||
return "1.10";
|
return "1.10";
|
||||||
@@ -540,7 +539,6 @@ private:
|
|||||||
bool NinjaSupportsDyndeps = false;
|
bool NinjaSupportsDyndeps = false;
|
||||||
bool NinjaSupportsRestatTool = false;
|
bool NinjaSupportsRestatTool = false;
|
||||||
bool NinjaSupportsUnconditionalRecompactTool = false;
|
bool NinjaSupportsUnconditionalRecompactTool = false;
|
||||||
bool NinjaSupportsCleanDeadTool = false;
|
|
||||||
bool NinjaSupportsMultipleOutputs = false;
|
bool NinjaSupportsMultipleOutputs = false;
|
||||||
bool NinjaSupportsMetadataOnRegeneration = false;
|
bool NinjaSupportsMetadataOnRegeneration = false;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user