summaryrefslogtreecommitdiffstats
path: root/Source/CursesDialog
diff options
context:
space:
mode:
Diffstat (limited to 'Source/CursesDialog')
-rw-r--r--Source/CursesDialog/ccmake.cxx7
-rw-r--r--Source/CursesDialog/cmCursesMainForm.cxx17
-rw-r--r--Source/CursesDialog/cmCursesMainForm.h5
3 files changed, 22 insertions, 7 deletions
diff --git a/Source/CursesDialog/ccmake.cxx b/Source/CursesDialog/ccmake.cxx
index 5218205..03fdb3f 100644
--- a/Source/CursesDialog/ccmake.cxx
+++ b/Source/CursesDialog/ccmake.cxx
@@ -189,8 +189,11 @@ int main(int argc, char** argv)
cmCursesForm::CurrentForm = myform;
myform->InitializeUI();
- myform->Render(1, 1, x, y);
- myform->HandleInput();
+ if ( myform->Configure(1) == 0 )
+ {
+ myform->Render(1, 1, x, y);
+ myform->HandleInput();
+ }
// Need to clean-up better
curses_clear();
diff --git a/Source/CursesDialog/cmCursesMainForm.cxx b/Source/CursesDialog/cmCursesMainForm.cxx
index 546dc32..283c43d 100644
--- a/Source/CursesDialog/cmCursesMainForm.cxx
+++ b/Source/CursesDialog/cmCursesMainForm.cxx
@@ -624,9 +624,8 @@ void cmCursesMainForm::UpdateProgress(const char *msg, float prog, void* vp)
refresh();
}
-int cmCursesMainForm::Configure()
+int cmCursesMainForm::Configure(int noconfigure)
{
-
int xi,yi;
getmaxyx(stdscr, yi, xi);
@@ -648,7 +647,19 @@ int cmCursesMainForm::Configure()
// run the generate process
m_OkToGenerate = true;
- int retVal = this->m_CMakeInstance->Configure();
+ int retVal;
+ if ( noconfigure )
+ {
+ retVal = this->m_CMakeInstance->DoPreConfigureChecks();
+ if ( retVal > 0 )
+ {
+ retVal = 0;
+ }
+ }
+ else
+ {
+ retVal = this->m_CMakeInstance->Configure();
+ }
this->m_CMakeInstance->SetProgressCallback(0, 0);
keypad(stdscr,TRUE); /* Use key symbols as
diff --git a/Source/CursesDialog/cmCursesMainForm.h b/Source/CursesDialog/cmCursesMainForm.h
index 4932f5c..9cfce3d 100644
--- a/Source/CursesDialog/cmCursesMainForm.h
+++ b/Source/CursesDialog/cmCursesMainForm.h
@@ -89,9 +89,10 @@ public:
virtual void AddError(const char* message, const char* title);
/**
- * Used to do a configure.
+ * Used to do a configure. If argument is specified, it does only the check
+ * and not configure.
*/
- int Configure();
+ int Configure(int noconfigure=0);
/**
* Used to generate