Browse Source

BUG: Need to clean manifest files that may have been generated for .exe and .dll files.

Brad King 19 years ago
parent
commit
c7daee6860

+ 7 - 0
Source/cmMakefileExecutableTargetGenerator.cxx

@@ -272,6 +272,13 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink)
   exeCleanFiles.push_back(this->Convert(cleanFullName.c_str(),
                                         cmLocalGenerator::START_OUTPUT,
                                         cmLocalGenerator::UNCHANGED));
+#ifdef _WIN32
+  // There may be a manifest file for this target.  Add it to the
+  // clean set just in case.
+  exeCleanFiles.push_back(this->Convert((cleanFullName+".manifest").c_str(),
+                                        cmLocalGenerator::START_OUTPUT,
+                                        cmLocalGenerator::UNCHANGED));
+#endif
   if(cleanRealName != cleanName)
     {
     exeCleanFiles.push_back(this->Convert(cleanFullRealName.c_str(),

+ 13 - 0
Source/cmMakefileLibraryTargetGenerator.cxx

@@ -393,6 +393,19 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules
           cmLocalGenerator::UNCHANGED));
       }
     }
+
+#ifdef _WIN32
+  // There may be a manifest file for this target.  Add it to the
+  // clean set just in case.
+  if(this->Target->GetType() != cmTarget::STATIC_LIBRARY)
+    {
+    libCleanFiles.push_back(
+      this->Convert((targetFullPath+".manifest").c_str(),
+                    cmLocalGenerator::START_OUTPUT,
+                    cmLocalGenerator::UNCHANGED));
+    }
+#endif
+
   // Add a command to remove any existing files for this library.
   std::vector<std::string> commands1;
   this->LocalGenerator->AppendCleanCommand(commands1, libCleanFiles,