mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-15 20:46:37 +08:00
Ninja: Remove cleandead on regeneration
Remove the `cleandead` tool invocation added by commit fb18215904
(Ninja: clean ninja metadata once generated, 2019-05-13,
v3.17.0-rc1~207^2). The tool deletes files that were not previously
deleted by regenerating the build system. Also, there are use cases
where no-longer-generated files should not be removed, such as Qt's TS
files.
Fixes: #21549
This commit is contained in:
@@ -573,18 +573,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 && 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
|
||||
@@ -671,9 +662,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(),
|
||||
|
@@ -370,7 +370,6 @@ public:
|
||||
{
|
||||
return "1.10";
|
||||
}
|
||||
static std::string RequiredNinjaVersionForCleanDeadTool() { return "1.10"; }
|
||||
bool SupportsConsolePool() const;
|
||||
bool SupportsImplicitOuts() const;
|
||||
bool SupportsManifestRestat() const;
|
||||
@@ -533,7 +532,6 @@ private:
|
||||
bool NinjaSupportsDyndeps = false;
|
||||
bool NinjaSupportsRestatTool = false;
|
||||
bool NinjaSupportsUnconditionalRecompactTool = false;
|
||||
bool NinjaSupportsCleanDeadTool = false;
|
||||
|
||||
private:
|
||||
void InitOutputPathPrefix();
|
||||
|
Reference in New Issue
Block a user