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:
parent
023041362d
commit
69356d8a7a
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
{
|
{
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue