add cleaning of QT generated files when make clean is used

This commit is contained in:
Franck Bettinger 2001-11-06 15:29:03 -05:00
parent 4ddee8e0e8
commit 4153857a1e
2 changed files with 30 additions and 9 deletions

View File

@ -61,7 +61,8 @@ bool cmQTWrapCPPCommand::InitialPass(std::vector<std::string> const& args)
if(cmSystemTools::IsOff(QT_WRAP_CPP_value))
{
return true;
this->SetError("called with QT_WRAP_CPP off : ");
return false;
}
// what is the current source dir
@ -96,7 +97,8 @@ bool cmQTWrapCPPCommand::InitialPass(std::vector<std::string> const& args)
std::string newName = "moc_" + curr.GetSourceName();
file.SetName(newName.c_str(), m_Makefile->GetCurrentOutputDirectory(),
"cxx",false);
std::string hname = cdir + "/" + curr.GetSourceName() + ".h";
std::string hname = cdir + "/" + curr.GetSourceName() + "." +
curr.GetSourceExtension();
m_WrapHeaders.push_back(hname);
// add starting depends
file.GetDepends().push_back(hname);
@ -111,7 +113,8 @@ bool cmQTWrapCPPCommand::InitialPass(std::vector<std::string> const& args)
void cmQTWrapCPPCommand::FinalPass()
{
// first we add the rules for all the .h to Java.cxx files
// first we add the rules for all the .h to Moc files
int lastClass = m_WrapClasses.size();
std::vector<std::string> depends;
std::string moc_exe = "${QT_MOC_EXE}";
@ -120,6 +123,8 @@ void cmQTWrapCPPCommand::FinalPass()
// wrap all the .h files
depends.push_back(moc_exe);
std::string moc_list("");
for(int classNum = 0; classNum < lastClass; classNum++)
{
// Add output to build list
@ -129,6 +134,8 @@ void cmQTWrapCPPCommand::FinalPass()
std::string res = m_Makefile->GetCurrentOutputDirectory();
res += "/";
res += m_WrapClasses[classNum].GetSourceName() + ".cxx";
moc_list = moc_list + " " + res;
std::vector<std::string> args;
args.push_back("-o");
@ -141,7 +148,8 @@ void cmQTWrapCPPCommand::FinalPass()
}
m_Makefile->AddDefinition("GENERATED_QT_FILES",moc_list.c_str());
}

View File

@ -1335,11 +1335,24 @@ void cmUnixMakefileGenerator::OutputMakeRules(std::ostream& fout)
"all",
"cmake.depends $(TARGETS) $(SUBDIR_BUILD)",
0);
this->OutputMakeRule(fout,
"remove generated files",
"clean",
"$(SUBDIR_CLEAN)",
"rm -f $(CLEAN_OBJECT_FILES) $(EXECUTABLES) $(TARGETS)");
if (m_Makefile->IsOn("QT_WRAP_CPP"))
{
this->OutputMakeRule(fout,
"remove generated files",
"clean",
"$(SUBDIR_CLEAN)",
"rm -f $(CLEAN_OBJECT_FILES) $(EXECUTABLES)"
" $(TARGETS) ${GENERATED_QT_FILES}");
}
else
{
this->OutputMakeRule(fout,
"remove generated files",
"clean",
"$(SUBDIR_CLEAN)",
"rm -f $(CLEAN_OBJECT_FILES) $(EXECUTABLES)"
" $(TARGETS)");
}
this->OutputMakeRule(fout,
"Rule to build the cmake.depends and Makefile as side effect",
"cmake.depends",