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.
This commit is contained in:
Brad King 2011-06-16 15:43:17 -04:00
parent 0751106f2f
commit 6b4d3ad32a
3 changed files with 2 additions and 27 deletions

View File

@ -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;
}

View File

@ -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
{

View File

@ -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;