BUG: Juse use cmake -E echo instead of the native echo on MinGW makefiles. The echo; hack did not work when running from ctest.

This commit is contained in:
Brad King 2006-10-13 10:22:45 -04:00
parent 023041362d
commit 69356d8a7a
3 changed files with 9 additions and 10 deletions

View File

@ -70,13 +70,9 @@ cmLocalGenerator *cmGlobalMinGWMakefileGenerator::CreateLocalGenerator()
// //
// @echo "message with spaces" // @echo "message with spaces"
// //
// it runs but the quotes are displayed. Instead we can separate // it runs but the quotes are displayed. Instead just use cmake to
// with a semicolon // echo.
// lg->SetNativeEchoCommand("@$(CMAKE_COMMAND) -E echo ", false);
// @echo;message with spaces
//
// to hack around the problem.
lg->SetNativeEchoCommand("@echo;");
return lg; return lg;
} }

View File

@ -51,6 +51,7 @@ cmLocalUnixMakefileGenerator3::cmLocalUnixMakefileGenerator3()
this->SkipPreprocessedSourceRules = false; this->SkipPreprocessedSourceRules = false;
this->SkipAssemblySourceRules = false; this->SkipAssemblySourceRules = false;
this->NativeEchoCommand = "@echo "; this->NativeEchoCommand = "@echo ";
this->NativeEchoWindows = true;
} }
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
@ -1046,7 +1047,8 @@ cmLocalUnixMakefileGenerator3::AppendEcho(std::vector<std::string>& commands,
{ {
// Use the native echo command. // Use the native echo command.
cmd = this->NativeEchoCommand; cmd = this->NativeEchoCommand;
cmd += this->EscapeForShell(line.c_str(), false, true); cmd += this->EscapeForShell(line.c_str(), false,
this->NativeEchoWindows);
} }
else else
{ {

View File

@ -135,8 +135,8 @@ public:
* should include all parts of the command up to the beginning of * should include all parts of the command up to the beginning of
* the message (including a whitespace separator). * the message (including a whitespace separator).
*/ */
void SetNativeEchoCommand(const char* cmd) void SetNativeEchoCommand(const char* cmd, bool isWindows)
{ this->NativeEchoCommand = cmd; } { this->NativeEchoCommand = cmd; this->NativeEchoWindows = isWindows; }
/** /**
* Set the string used to include one makefile into another default * Set the string used to include one makefile into another default
@ -341,6 +341,7 @@ private:
std::string LibraryOutputPath; std::string LibraryOutputPath;
std::string ConfigurationName; std::string ConfigurationName;
std::string NativeEchoCommand; std::string NativeEchoCommand;
bool NativeEchoWindows;
bool DefineWindowsNULL; bool DefineWindowsNULL;
bool UnixCD; bool UnixCD;
bool PassMakeflags; bool PassMakeflags;