summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Source/cmGlobalMinGWMakefileGenerator.cxx10
-rw-r--r--Source/cmLocalUnixMakefileGenerator3.cxx4
-rw-r--r--Source/cmLocalUnixMakefileGenerator3.h5
3 files changed, 9 insertions, 10 deletions
diff --git a/Source/cmGlobalMinGWMakefileGenerator.cxx b/Source/cmGlobalMinGWMakefileGenerator.cxx
index c024f6facb..30cb9483ba 100644
--- a/Source/cmGlobalMinGWMakefileGenerator.cxx
+++ b/Source/cmGlobalMinGWMakefileGenerator.cxx
@@ -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;
}
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index 34fbc26b58..059de8587b 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -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
{
diff --git a/Source/cmLocalUnixMakefileGenerator3.h b/Source/cmLocalUnixMakefileGenerator3.h
index e79065d151..5b9d7fdc2f 100644
--- a/Source/cmLocalUnixMakefileGenerator3.h
+++ b/Source/cmLocalUnixMakefileGenerator3.h
@@ -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;