Răsfoiți Sursa

BUG: Clean was not doing it's job

Dan Blezek 25 ani în urmă
părinte
comite
8852ed9d2f
2 a modificat fișierele cu 20 adăugiri și 1 ștergeri
  1. 1 1
      CMakeRules.make.in
  2. 19 0
      Source/cmUnixMakefileGenerator.cxx

+ 1 - 1
CMakeRules.make.in

@@ -18,7 +18,7 @@ depend: ${CMAKE} ${SUBDIR_DEPEND}
 
 
 clean: ${SUBDIR_CLEAN}
-	rm -f ${SRC_OBJ} ${EXECUTABLES} 
+	rm -f ${SRC_OBJ} ${EXECUTABLES} ${TARGETS}
 
 CMakeTargets.make: ${CMAKE} ${srcdir}/CMakeLists.txt 
 	${CMAKE} ${currentdir}/CMakeLists.txt -S${currentdir} -O${currentbindir} -H${topdir} -B${CMAKE_CONFIG_DIR}

+ 19 - 0
Source/cmUnixMakefileGenerator.cxx

@@ -107,6 +107,25 @@ void cmUnixMakefileGenerator::OutputTargetRules(std::ostream& fout)
       }
     fout << "\n\n";
     }
+
+  // get the classes from the source lists then add them to the SRC_OBJ list
+  fout << "SRC_OBJ = ";
+  for(cmTargets::const_iterator l = tgts.begin(); 
+      l != tgts.end(); l++)
+    {
+    std::vector<cmClassFile> classes = 
+      m_Makefile->GetClassesFromSourceLists(l->second.GetSourceLists());
+    for(std::vector<cmClassFile>::iterator i = classes.begin(); 
+        i != classes.end(); i++)
+      {
+      if(!i->m_HeaderFileOnly)
+        {
+        fout << "\\\n" << i->m_ClassName << ".o ";
+        }
+      }
+    }
+    fout << "\n\n";
+
 }