Explorar el Código

MinGW: Remove old workaround and use native echo (#12283)

The workaround added by commit 7e92f0b4 (Hack to make echo command work
properly in mingw32-make, 2006-10-05) and updated by commit 69356d8a
(Juse use cmake -E echo instead of the native echo, 2006-10-13) no
longer seems necessary with modern mingw32-make.  Furthermore it slows
performance due to the time spent loading a cmake process instead of
plain echo.
Brad King hace 14 años
padre
commit
6b4d3ad32a

+ 0 - 12
Source/cmGlobalMinGWMakefileGenerator.cxx

@@ -66,18 +66,6 @@ cmLocalGenerator *cmGlobalMinGWMakefileGenerator::CreateLocalGenerator()
   lg->SetPassMakeflags(false);
   lg->SetUnixCD(true);
   lg->SetMinGWMake(true);
-
-  // mingw32-make has trouble running code like
-  //
-  //  @echo message with spaces
-  //
-  // If quotes are added
-  //
-  //  @echo "message with spaces"
-  //
-  // it runs but the quotes are displayed.  Instead just use cmake to
-  // echo.
-  lg->SetNativeEchoCommand("@$(CMAKE_COMMAND) -E echo ", false);
   return lg;
 }
 

+ 2 - 5
Source/cmLocalUnixMakefileGenerator3.cxx

@@ -68,8 +68,6 @@ cmLocalUnixMakefileGenerator3::cmLocalUnixMakefileGenerator3()
   this->ColorMakefile = false;
   this->SkipPreprocessedSourceRules = false;
   this->SkipAssemblySourceRules = false;
-  this->NativeEchoCommand = "@echo ";
-  this->NativeEchoWindows = true;
   this->MakeCommandEscapeTargetTwice = false;
   this->IsMakefileGenerator = true;
   this->BorlandMakeCurlyHack = false;
@@ -1235,9 +1233,8 @@ cmLocalUnixMakefileGenerator3::AppendEcho(std::vector<std::string>& commands,
         if(color_name.empty())
           {
           // Use the native echo command.
-          cmd = this->NativeEchoCommand;
-          cmd += this->EscapeForShell(line.c_str(), false,
-                                      this->NativeEchoWindows);
+          cmd = "@echo ";
+          cmd += this->EscapeForShell(line.c_str(), false, true);
           }
         else
           {

+ 0 - 10
Source/cmLocalUnixMakefileGenerator3.h

@@ -126,14 +126,6 @@ public:
    */
   void SetSilentNoColon(bool v)  {this->SilentNoColon = v;}
 
-  /**
-   * Set the command to use for native make shell echo.  The value
-   * should include all parts of the command up to the beginning of
-   * the message (including a whitespace separator).
-   */
-  void SetNativeEchoCommand(const char* cmd, bool isWindows)
-    { this->NativeEchoCommand = cmd; this->NativeEchoWindows = isWindows; }
-
   /**
    * Set the string used to include one makefile into another default
    * is include.
@@ -365,8 +357,6 @@ private:
   std::string IncludeDirective;
   std::string MakeSilentFlag;
   std::string ConfigurationName;
-  std::string NativeEchoCommand;
-  bool NativeEchoWindows;
   bool DefineWindowsNULL;
   bool UnixCD;
   bool PassMakeflags;