mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-11 16:32:14 -06:00
Autogen: Use ADDITIONAL_CLEAN_FILES target property for file cleaning
The `ADDITIONAL_CLEAN_FILES` target property works on multiple generators to remove addition files at the clean target. In `AUTOGEN` use it instead of the deprecated and limited `ADDITIONAL_MAKE_CLEAN_FILES` directory property to remove `AUTOGEN` generated files. Fixes: #17074 "Autogen: clean target with ninja generator doesn’t clean autogen files"
This commit is contained in:
@@ -52,12 +52,6 @@ static std::size_t GetParallelCPUCount()
|
||||
return count;
|
||||
}
|
||||
|
||||
static void AddCleanFile(cmMakefile* makefile, std::string const& fileName)
|
||||
{
|
||||
makefile->AppendProperty("ADDITIONAL_MAKE_CLEAN_FILES", fileName.c_str(),
|
||||
false);
|
||||
}
|
||||
|
||||
static std::string FileProjectRelativePath(cmMakefile* makefile,
|
||||
std::string const& fileName)
|
||||
{
|
||||
@@ -320,7 +314,7 @@ bool cmQtAutoGenInitializer::InitCustomTargets()
|
||||
}
|
||||
cmSystemTools::ConvertToUnixSlashes(this->Dir.Build);
|
||||
// Cleanup build directory
|
||||
AddCleanFile(makefile, this->Dir.Build);
|
||||
this->AddCleanFile(this->Dir.Build);
|
||||
|
||||
// Working directory
|
||||
this->Dir.Work = cbd;
|
||||
@@ -381,15 +375,15 @@ bool cmQtAutoGenInitializer::InitCustomTargets()
|
||||
std::string& filename = this->AutogenTarget.ConfigSettingsFile[cfg];
|
||||
filename =
|
||||
AppendFilenameSuffix(this->AutogenTarget.SettingsFile, "_" + cfg);
|
||||
AddCleanFile(makefile, filename);
|
||||
this->AddCleanFile(filename);
|
||||
}
|
||||
} else {
|
||||
AddCleanFile(makefile, this->AutogenTarget.SettingsFile);
|
||||
this->AddCleanFile(this->AutogenTarget.SettingsFile);
|
||||
}
|
||||
|
||||
this->AutogenTarget.ParseCacheFile = this->Dir.Info;
|
||||
this->AutogenTarget.ParseCacheFile += "/ParseCache.txt";
|
||||
AddCleanFile(makefile, this->AutogenTarget.ParseCacheFile);
|
||||
this->AddCleanFile(this->AutogenTarget.ParseCacheFile);
|
||||
}
|
||||
|
||||
// Autogen target: Compute user defined dependencies
|
||||
@@ -1528,6 +1522,12 @@ bool cmQtAutoGenInitializer::AddToSourceGroup(std::string const& fileName,
|
||||
return true;
|
||||
}
|
||||
|
||||
void cmQtAutoGenInitializer::AddCleanFile(std::string const& fileName)
|
||||
{
|
||||
Target->Target->AppendProperty("ADDITIONAL_CLEAN_FILES", fileName.c_str(),
|
||||
false);
|
||||
}
|
||||
|
||||
static unsigned int CharPtrToUInt(const char* const input)
|
||||
{
|
||||
unsigned long tmp = 0;
|
||||
|
||||
@@ -145,6 +145,7 @@ private:
|
||||
bool prepend = false);
|
||||
bool AddToSourceGroup(std::string const& fileName,
|
||||
std::string const& genNameUpper);
|
||||
void AddCleanFile(std::string const& fileName);
|
||||
|
||||
bool GetQtExecutable(GenVarsT& genVars, const std::string& executable,
|
||||
bool ignoreMissingTarget, std::string* output) const;
|
||||
|
||||
Reference in New Issue
Block a user