浏览代码

ENH: use ccommand for del on windows

Bill Hoffman 23 年之前
父节点
当前提交
7fc14a9cb4
共有 3 个文件被更改,包括 14 次插入7 次删除
  1. 8 1
      Source/ccommand.cxx
  2. 3 3
      Source/cmBorlandMakefileGenerator.cxx
  3. 3 3
      Source/cmNMakeMakefileGenerator.cxx

+ 8 - 1
Source/ccommand.cxx

@@ -51,7 +51,14 @@ int main(int ac, char** av)
       {
       for ( std::string::size_type cc = 2; cc < args.size(); cc ++ )
 	{
-	cmSystemTools::RemoveFile(args[cc].c_str());
+        if(args[cc] != "-f")
+          {
+          if(args[cc] == "\\-f")
+            {
+            args[cc] = "-f";
+            }
+          cmSystemTools::RemoveFile(args[cc].c_str());
+          }
 	}
       return 0;
       }

+ 3 - 3
Source/cmBorlandMakefileGenerator.cxx

@@ -81,8 +81,7 @@ void cmBorlandMakefileGenerator::OutputMakeVariables(std::ostream& fout)
     "NULL=\n"
     "!ELSE \n"
     "NULL=nul\n"
-    "!ENDIF \n"
-    "RM = del\n";
+    "!ENDIF \n";
   std::string buildType = "CMAKE_CXX_FLAGS_";
   buildType +=  m_Makefile->GetDefinition("CMAKE_BUILD_TYPE");
   buildType = cmSystemTools::UpperCase(buildType);
@@ -99,7 +98,8 @@ void cmBorlandMakefileGenerator::OutputMakeVariables(std::ostream& fout)
 
   std::string replaceVars = variables;
   m_Makefile->ExpandVariablesInString(replaceVars);
-  
+  std::string ccommand = m_Makefile->GetDefinition("CCOMMAND_COMMAND");
+  fout << "RM = " << this->ConvertToOutputPath(ccommand.c_str()) << " remove -f\n";
   std::string ccompiler = m_Makefile->GetDefinition("CMAKE_C_COMPILER");
   fout << "CMAKE_C_COMPILER  = " 
        << this->ConvertToOutputPath(ccompiler.c_str())

+ 3 - 3
Source/cmNMakeMakefileGenerator.cxx

@@ -137,8 +137,7 @@ void cmNMakeMakefileGenerator::OutputMakeVariables(std::ostream& fout)
     "NULL=\n"
     "!ELSE \n"
     "NULL=nul\n"
-    "!ENDIF \n"
-    "RM = del\n";
+    "!ENDIF \n";
 
   std::string buildType = "CMAKE_CXX_FLAGS_";
   buildType +=  m_Makefile->GetDefinition("CMAKE_BUILD_TYPE");
@@ -157,7 +156,8 @@ void cmNMakeMakefileGenerator::OutputMakeVariables(std::ostream& fout)
   std::string replaceVars = variables;
   m_Makefile->ExpandVariablesInString(replaceVars);
   fout << replaceVars.c_str();
-
+  std::string ccommand = m_Makefile->GetDefinition("CCOMMAND_COMMAND");
+  fout << "RM = " << this->ConvertToOutputPath(ccommand.c_str()) << " remove -f\n";
   std::string ccompiler = m_Makefile->GetDefinition("CMAKE_C_COMPILER");
   fout << "CMAKE_C_COMPILER                       = " 
        << this->ConvertToOutputPath(ccompiler.c_str()) << "\n";