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"
//
// it runs but the quotes are displayed. Instead we can separate
// with a semicolon
//
// @echo;message with spaces
//
// to hack around the problem.
lg->SetNativeEchoCommand("@echo;");
// it runs but the quotes are displayed. Instead just use cmake to
// echo.
lg->SetNativeEchoCommand("@$(CMAKE_COMMAND) -E echo ", false);
return lg;
}

View File

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

View File

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