diff -ru Source/cmake.cxx Source_new//cmake.cxx
--- Source/cmake.cxx	2012-04-18 14:10:54.000000000 -0400
+++ Source_new//cmake.cxx	2012-06-15 16:41:30.644383790 -0400
@@ -2172,7 +2172,15 @@
       cmSystemTools::SetForceUnixPaths
         (this->GlobalGenerator->GetForceUnixPaths());
       }
-    else
+    else if (getenv("CMAKE_DEFAULT_GENERATOR"))
+      {
+      const char* genName = getenv("CMAKE_DEFAULT_GENERATOR");
+      if (*genName)
+        {
+        this->SetGlobalGenerator(this->CreateGlobalGenerator(genName));
+        }
+      }
+    if(!this->GlobalGenerator)
       {
 #if defined(__BORLANDC__) && defined(_WIN32)
       this->SetGlobalGenerator(new cmGlobalBorlandMakefileGenerator);
