summaryrefslogtreecommitdiffstats
path: root/Source/MFCDialog/CMakeSetupDialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/MFCDialog/CMakeSetupDialog.cpp')
-rw-r--r--Source/MFCDialog/CMakeSetupDialog.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/Source/MFCDialog/CMakeSetupDialog.cpp b/Source/MFCDialog/CMakeSetupDialog.cpp
index 0303375..67800b9 100644
--- a/Source/MFCDialog/CMakeSetupDialog.cpp
+++ b/Source/MFCDialog/CMakeSetupDialog.cpp
@@ -315,6 +315,22 @@ void CMakeSetupDialog::LoadFromRegistry()
void CMakeSetupDialog::OnBuildProjects()
{
+ if(!cmSystemTools::FileExists(m_WhereBuild))
+ {
+ std::string message =
+ "Build directory does not exist, should I create it?\n\n"
+ "Directory: ";
+ message += (const char*)m_WhereBuild;
+ if(MessageBox(message.c_str(), "Create Directory", MB_OKCANCEL) == IDOK)
+ {
+ cmSystemTools::MakeDirectory(m_WhereBuild);
+ }
+ else
+ {
+ MessageBox("Build Project aborted, nothing done.");
+ return;
+ }
+ }
::SetCursor(LoadCursor(NULL, IDC_WAIT));
// get all the info from the screen
this->UpdateData();