Browse Source

Exit ccmake on fatal errors.

Berk Geveci 23 years ago
parent
commit
77bb62e00c

+ 5 - 4
Source/CursesDialog/ccmake.cxx

@@ -124,10 +124,11 @@ int main(int argc, char** argv)
   cmCursesForm::CurrentForm = myform;
 
   myform->InitializeUI();
-  myform->RunCMake(false);
-
-  myform->Render(1, 1, x, y);
-  myform->HandleInput();
+  if (myform->RunCMake(false) == 0 )
+    {
+    myform->Render(1, 1, x, y);
+    myform->HandleInput();
+    }
   
   // Need to clean-up better
   curses_clear();

+ 8 - 1
Source/CursesDialog/cmCursesMainForm.cxx

@@ -504,7 +504,7 @@ void cmCursesMainForm::UpdateStatusBar()
   pos_form_cursor(m_Form);
 }
 
-void cmCursesMainForm::RunCMake(bool generateMakefiles)
+int cmCursesMainForm::RunCMake(bool generateMakefiles)
 {
 
   int x,y;
@@ -557,6 +557,12 @@ void cmCursesMainForm::RunCMake(bool generateMakefiles)
     CurrentForm = msgs;
     msgs->Render(1,1,x,y);
     msgs->HandleInput();
+    // If they typed the wrong source directory, we report
+    // an error and exit
+    if ( retVal == -2 )
+      {
+      return retVal;
+      }
     CurrentForm = this;
     this->Render(1,1,x,y);
     }
@@ -565,6 +571,7 @@ void cmCursesMainForm::RunCMake(bool generateMakefiles)
   this->InitializeUI();
   this->Render(1, 1, x, y);
   
+  return 0;
 }
 
 void cmCursesMainForm::AddError(const char* message, const char* title)

+ 1 - 1
Source/CursesDialog/cmCursesMainForm.h

@@ -85,7 +85,7 @@ public:
   /**
    * Used to run cmake.
    */
-  void RunCMake(bool generateMakefiles);
+  int RunCMake(bool generateMakefiles);
 
 protected:
   cmCursesMainForm(const cmCursesMainForm& from);

+ 1 - 1
Source/cmake.cxx

@@ -370,7 +370,7 @@ int cmake::Generate(const std::vector<std::string>& args, bool buildMakefiles)
       message += cacheStart;
       message += "\nRe-run cmake with a different source directory.";
       cmSystemTools::Error(message.c_str());
-      return -1;
+      return -2;
       }
     }
   mf.AddCacheDefinition("CMAKE_HOME_DIRECTORY", mf.GetHomeDirectory(),