ENH: add ability to create symlinks for command line on mac from gui
This commit is contained in:
parent
61af8d8b32
commit
5d01572348
|
@ -31,6 +31,7 @@
|
|||
#include <QMimeData>
|
||||
#include <QUrl>
|
||||
#include <QShortcut>
|
||||
#include <QMacInstallDialog.h>
|
||||
|
||||
#include "QCMake.h"
|
||||
#include "QCMakeCacheView.h"
|
||||
|
@ -96,17 +97,23 @@ CMakeSetupDialog::CMakeSetupDialog()
|
|||
this->GenerateAction = ToolsMenu->addAction(tr("&Generate"));
|
||||
QObject::connect(this->GenerateAction, SIGNAL(triggered(bool)),
|
||||
this, SLOT(doGenerate()));
|
||||
|
||||
#if defined(__APPLE__)
|
||||
this->InstallForCommandLineAction
|
||||
= ToolsMenu->addAction(tr("&Install For Command Line Use"));
|
||||
QObject::connect(this->InstallForCommandLineAction, SIGNAL(triggered(bool)),
|
||||
this, SLOT(doInstallForCommandLine()));
|
||||
#endif
|
||||
QMenu* OptionsMenu = this->menuBar()->addMenu(tr("&Options"));
|
||||
QAction* supressDevWarningsAction = OptionsMenu->addAction(tr("&Suppress dev Warnings (-Wno-dev)"));
|
||||
QObject::connect(supressDevWarningsAction, SIGNAL(triggered(bool)),
|
||||
this, SLOT(doSuppressDev()));
|
||||
|
||||
supressDevWarningsAction->setCheckable(true);
|
||||
QAction* debugAction = OptionsMenu->addAction(tr("&Debug Output"));
|
||||
debugAction->setCheckable(true);
|
||||
QObject::connect(debugAction, SIGNAL(toggled(bool)),
|
||||
this, SLOT(setDebugOutput(bool)));
|
||||
|
||||
|
||||
QMenu* HelpMenu = this->menuBar()->addMenu(tr("&Help"));
|
||||
QAction* a = HelpMenu->addAction(tr("About"));
|
||||
QObject::connect(a, SIGNAL(triggered(bool)),
|
||||
|
@ -325,6 +332,12 @@ void CMakeSetupDialog::doSuppressDev()
|
|||
SetSuppressDevWarnings(this->SuppressDevWarnings);
|
||||
}
|
||||
|
||||
void CMakeSetupDialog::doInstallForCommandLine()
|
||||
{
|
||||
QMacInstallDialog setupdialog(0);
|
||||
setupdialog.exec();
|
||||
}
|
||||
|
||||
void CMakeSetupDialog::doGenerate()
|
||||
{
|
||||
if(this->CurrentState == Generating)
|
||||
|
|
|
@ -45,6 +45,7 @@ protected slots:
|
|||
void doConfigure();
|
||||
void doGenerate();
|
||||
void doSuppressDev();
|
||||
void doInstallForCommandLine();
|
||||
void doHelp();
|
||||
void doAbout();
|
||||
void doInterrupt();
|
||||
|
@ -94,6 +95,7 @@ protected:
|
|||
QAction* ConfigureAction;
|
||||
QAction* GenerateAction;
|
||||
QAction* SuppressDevWarningsAction;
|
||||
QAction* InstallForCommandLineAction;
|
||||
State CurrentState;
|
||||
|
||||
};
|
||||
|
|
|
@ -46,6 +46,12 @@ void QMacInstallDialog::DoInstall()
|
|||
newName += filename;
|
||||
std::cout << "ln -s [" << file << "] [";
|
||||
std::cout << newName << "]\n";
|
||||
// Remove the old files
|
||||
if(cmSystemTools::FileExists(newName.c_str()))
|
||||
{
|
||||
std::cout << "rm [" << newName << "]\n";
|
||||
cmSystemTools::RemoveFile(newName.c_str());
|
||||
}
|
||||
cmSystemTools::CreateSymlink(file.c_str(),
|
||||
newName.c_str());
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue