add cleaning of QT generated files when make clean is used
This commit is contained in:
parent
4ddee8e0e8
commit
4153857a1e
@ -61,7 +61,8 @@ bool cmQTWrapCPPCommand::InitialPass(std::vector<std::string> const& args)
|
|||||||
|
|
||||||
if(cmSystemTools::IsOff(QT_WRAP_CPP_value))
|
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
|
// 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();
|
std::string newName = "moc_" + curr.GetSourceName();
|
||||||
file.SetName(newName.c_str(), m_Makefile->GetCurrentOutputDirectory(),
|
file.SetName(newName.c_str(), m_Makefile->GetCurrentOutputDirectory(),
|
||||||
"cxx",false);
|
"cxx",false);
|
||||||
std::string hname = cdir + "/" + curr.GetSourceName() + ".h";
|
std::string hname = cdir + "/" + curr.GetSourceName() + "." +
|
||||||
|
curr.GetSourceExtension();
|
||||||
m_WrapHeaders.push_back(hname);
|
m_WrapHeaders.push_back(hname);
|
||||||
// add starting depends
|
// add starting depends
|
||||||
file.GetDepends().push_back(hname);
|
file.GetDepends().push_back(hname);
|
||||||
@ -111,7 +113,8 @@ bool cmQTWrapCPPCommand::InitialPass(std::vector<std::string> const& args)
|
|||||||
|
|
||||||
void cmQTWrapCPPCommand::FinalPass()
|
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();
|
int lastClass = m_WrapClasses.size();
|
||||||
std::vector<std::string> depends;
|
std::vector<std::string> depends;
|
||||||
std::string moc_exe = "${QT_MOC_EXE}";
|
std::string moc_exe = "${QT_MOC_EXE}";
|
||||||
@ -120,6 +123,8 @@ void cmQTWrapCPPCommand::FinalPass()
|
|||||||
// wrap all the .h files
|
// wrap all the .h files
|
||||||
depends.push_back(moc_exe);
|
depends.push_back(moc_exe);
|
||||||
|
|
||||||
|
std::string moc_list("");
|
||||||
|
|
||||||
for(int classNum = 0; classNum < lastClass; classNum++)
|
for(int classNum = 0; classNum < lastClass; classNum++)
|
||||||
{
|
{
|
||||||
// Add output to build list
|
// Add output to build list
|
||||||
@ -129,6 +134,8 @@ void cmQTWrapCPPCommand::FinalPass()
|
|||||||
std::string res = m_Makefile->GetCurrentOutputDirectory();
|
std::string res = m_Makefile->GetCurrentOutputDirectory();
|
||||||
res += "/";
|
res += "/";
|
||||||
res += m_WrapClasses[classNum].GetSourceName() + ".cxx";
|
res += m_WrapClasses[classNum].GetSourceName() + ".cxx";
|
||||||
|
|
||||||
|
moc_list = moc_list + " " + res;
|
||||||
|
|
||||||
std::vector<std::string> args;
|
std::vector<std::string> args;
|
||||||
args.push_back("-o");
|
args.push_back("-o");
|
||||||
@ -141,7 +148,8 @@ void cmQTWrapCPPCommand::FinalPass()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_Makefile->AddDefinition("GENERATED_QT_FILES",moc_list.c_str());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1335,11 +1335,24 @@ void cmUnixMakefileGenerator::OutputMakeRules(std::ostream& fout)
|
|||||||
"all",
|
"all",
|
||||||
"cmake.depends $(TARGETS) $(SUBDIR_BUILD)",
|
"cmake.depends $(TARGETS) $(SUBDIR_BUILD)",
|
||||||
0);
|
0);
|
||||||
this->OutputMakeRule(fout,
|
if (m_Makefile->IsOn("QT_WRAP_CPP"))
|
||||||
"remove generated files",
|
{
|
||||||
"clean",
|
this->OutputMakeRule(fout,
|
||||||
"$(SUBDIR_CLEAN)",
|
"remove generated files",
|
||||||
"rm -f $(CLEAN_OBJECT_FILES) $(EXECUTABLES) $(TARGETS)");
|
"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,
|
this->OutputMakeRule(fout,
|
||||||
"Rule to build the cmake.depends and Makefile as side effect",
|
"Rule to build the cmake.depends and Makefile as side effect",
|
||||||
"cmake.depends",
|
"cmake.depends",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user