[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