BUG: building libs caused all generated files to be deleted

This commit is contained in:
Ken Martin 2005-05-24 16:11:59 -04:00
parent 89495847cf
commit 144f3670c0
1 changed files with 9 additions and 5 deletions

View File

@ -1738,6 +1738,7 @@ cmLocalUnixMakefileGenerator3
// Construct a list of files associated with this library that may // Construct a list of files associated with this library that may
// need to be cleaned. // need to be cleaned.
std::vector<std::string> libCleanFiles;
{ {
std::string cleanStaticName; std::string cleanStaticName;
std::string cleanSharedName; std::string cleanSharedName;
@ -1752,27 +1753,30 @@ cmLocalUnixMakefileGenerator3
std::string cleanFullSharedName = outpath + cleanSharedName; std::string cleanFullSharedName = outpath + cleanSharedName;
std::string cleanFullSharedSOName = outpath + cleanSharedSOName; std::string cleanFullSharedSOName = outpath + cleanSharedSOName;
std::string cleanFullSharedRealName = outpath + cleanSharedRealName; std::string cleanFullSharedRealName = outpath + cleanSharedRealName;
cleanFiles.push_back(cleanFullStaticName); libCleanFiles.push_back(cleanFullStaticName);
if(cleanSharedRealName != cleanStaticName) if(cleanSharedRealName != cleanStaticName)
{ {
cleanFiles.push_back(cleanFullSharedRealName); libCleanFiles.push_back(cleanFullSharedRealName);
} }
if(cleanSharedSOName != cleanStaticName && if(cleanSharedSOName != cleanStaticName &&
cleanSharedSOName != cleanSharedRealName) cleanSharedSOName != cleanSharedRealName)
{ {
cleanFiles.push_back(cleanFullSharedSOName); libCleanFiles.push_back(cleanFullSharedSOName);
} }
if(cleanSharedName != cleanStaticName && if(cleanSharedName != cleanStaticName &&
cleanSharedName != cleanSharedSOName && cleanSharedName != cleanSharedSOName &&
cleanSharedName != cleanSharedRealName) cleanSharedName != cleanSharedRealName)
{ {
cleanFiles.push_back(cleanFullSharedName); libCleanFiles.push_back(cleanFullSharedName);
} }
} }
// Add a command to remove any existing files for this library. // Add a command to remove any existing files for this library.
this->AppendCleanCommand(commands, cleanFiles); this->AppendCleanCommand(commands, libCleanFiles);
// add the libCleanFiles to to taoal cleanFiles
cleanFiles.insert(cleanFiles.end(),libCleanFiles.begin(),libCleanFiles.end());
// Add the pre-build and pre-link rules. // Add the pre-build and pre-link rules.
this->AppendCustomCommands(commands, target.GetPreBuildCommands()); this->AppendCustomCommands(commands, target.GetPreBuildCommands());
this->AppendCustomCommands(commands, target.GetPreLinkCommands()); this->AppendCustomCommands(commands, target.GetPreLinkCommands());