summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFranck Bettinger <bettingf@cs.man.ac.uk>2001-11-06 20:29:03 (GMT)
committerFranck Bettinger <bettingf@cs.man.ac.uk>2001-11-06 20:29:03 (GMT)
commit4153857a1e4340846f997c730d7a36e626f42f42 (patch)
tree4402f5272a46c4d5e4f58f10d97a4190b1398980
parent4ddee8e0e8c16364c7b201d640374d822b6cdeda (diff)
downloadCMake-4153857a1e4340846f997c730d7a36e626f42f42.zip
CMake-4153857a1e4340846f997c730d7a36e626f42f42.tar.gz
CMake-4153857a1e4340846f997c730d7a36e626f42f42.tar.bz2
add cleaning of QT generated files when make clean is used
-rw-r--r--Source/cmQTWrapCPPCommand.cxx16
-rw-r--r--Source/cmUnixMakefileGenerator.cxx23
2 files changed, 30 insertions, 9 deletions
diff --git a/Source/cmQTWrapCPPCommand.cxx b/Source/cmQTWrapCPPCommand.cxx
index f3bfc97..5bc701e 100644
--- a/Source/cmQTWrapCPPCommand.cxx
+++ b/Source/cmQTWrapCPPCommand.cxx
@@ -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());
+
}
diff --git a/Source/cmUnixMakefileGenerator.cxx b/Source/cmUnixMakefileGenerator.cxx
index 460d6f3..9c47911 100644
--- a/Source/cmUnixMakefileGenerator.cxx
+++ b/Source/cmUnixMakefileGenerator.cxx
@@ -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",