[cmake-commits] clinton committed CMakeSetup.cxx 1.6 1.7 CMakeSetupDialog.cxx 1.23 1.24

cmake-commits at cmake.org cmake-commits at cmake.org
Tue Nov 13 00:33:27 EST 2007


Update of /cvsroot/CMake/CMake/Source/QtDialog
In directory public:/mounts/ram/cvs-serv16340

Modified Files:
	CMakeSetup.cxx CMakeSetupDialog.cxx 
Log Message:
ENH:  support specifying build or source directory at command line.


Index: CMakeSetupDialog.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/QtDialog/CMakeSetupDialog.cxx,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- CMakeSetupDialog.cxx	13 Nov 2007 04:54:49 -0000	1.23
+++ CMakeSetupDialog.cxx	13 Nov 2007 05:33:22 -0000	1.24
@@ -113,6 +113,10 @@
                    this, SLOT(doHelp()));
   
   this->setAcceptDrops(true);
+  
+  // get the saved binary directories
+  QStringList buildPaths = this->loadBuildPaths();
+  this->BinaryDirectory->addItems(buildPaths);
 
   // start the cmake worker thread
   this->CMakeThread = new QCMakeThread(this);
@@ -191,11 +195,6 @@
   QObject::connect(this->AddEntry, SIGNAL(clicked(bool)), 
                    this, SLOT(addCacheEntry()));
 
-  // get the saved binary directories
-  QStringList buildPaths = this->loadBuildPaths();
-  this->BinaryDirectory->blockSignals(true);
-  this->BinaryDirectory->addItems(buildPaths);
-  this->BinaryDirectory->blockSignals(false);
   
   if(!this->SourceDirectory->text().isEmpty() ||
      !this->BinaryDirectory->lineEdit()->text().isEmpty())

Index: CMakeSetup.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/QtDialog/CMakeSetup.cxx,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- CMakeSetup.cxx	7 Nov 2007 00:25:43 -0000	1.6
+++ CMakeSetup.cxx	13 Nov 2007 05:33:22 -0000	1.7
@@ -16,6 +16,8 @@
 =========================================================================*/
 #include "QCMake.h"  // include to disable MS warnings
 #include <QApplication>
+#include <QFileInfo>
+#include <QDir>
 
 #include "CMakeSetupDialog.h"
 
@@ -26,11 +28,26 @@
   app.setOrganizationName("Kitware");
   app.setWindowIcon(QIcon(":/Icons/CMakeSetup.png"));
 
-  // TODO handle CMake args
-    
   CMakeSetupDialog dialog;
   dialog.setWindowTitle("CMakeSetup");
   dialog.show();
+ 
+  // for now: args support specifying build and/or source directory 
+  QStringList args = app.arguments();
+  if(args.count() == 2)
+    {
+    QFileInfo buildFileInfo(args[1], "CMakeCache.txt");
+    QFileInfo srcFileInfo(args[1], "CMakeLists.txt");
+    if(buildFileInfo.exists())
+      {
+      dialog.setBinaryDirectory(buildFileInfo.absolutePath());
+      }
+    else if(srcFileInfo.exists())
+      {
+      dialog.setSourceDirectory(srcFileInfo.absolutePath());
+      dialog.setBinaryDirectory(QDir::currentPath());
+      }
+    }
   
   return app.exec();
 }



More information about the Cmake-commits mailing list