--- cmake/Source/cmake.cxx	2014-01-16 18:15:08.000000000 +0100
+++ cmake/Source/cmake.cxx	2014-07-28 20:14:27.671875000 +0200
@@ -2273,8 +2273,21 @@
             }
           }
         }
-      cmGlobalGenerator* gen
-        = this->CreateGlobalGenerator(installedCompiler.c_str());
+      cmGlobalGenerator* gen = 0;
+
+      // detect MSYS2 terminal
+      HANDLE in = GetStdHandle(STD_INPUT_HANDLE);
+      DWORD flags;
+      if(!GetConsoleMode(in,&flags) &&
+         GetNamedPipeInfo(in, &flags, NULL, NULL, NULL))
+        {
+        gen = new cmGlobalMSYSMakefileGenerator;
+        }
+
+      if(!gen)
+        {
+        gen = this->CreateGlobalGenerator(installedCompiler.c_str());
+        }
       if(!gen)
         {
         gen = new cmGlobalNMakeMakefileGenerator;
