[Cmake-commits] [cmake-commits] clinton committed CMakeFirstConfigure.cxx 1.1 NONE CMakeFirstConfigure.h 1.1 NONE CMakeFirstConfigure.ui 1.1 NONE CMakeLists.txt 1.19 1.20 CMakeSetupDialog.cxx 1.55 1.56 Compilers.h NONE 1.1 Compilers.ui NONE 1.1 CrossCompiler.ui NONE 1.1 FirstConfigure.cxx NONE 1.1 FirstConfigure.h NONE 1.1
cmake-commits at cmake.org
cmake-commits at cmake.org
Tue Dec 16 15:00:19 EST 2008
Update of /cvsroot/CMake/CMake/Source/QtDialog
In directory public:/mounts/ram/cvs-serv30994
Modified Files:
CMakeLists.txt CMakeSetupDialog.cxx
Added Files:
Compilers.h Compilers.ui CrossCompiler.ui FirstConfigure.cxx
FirstConfigure.h
Removed Files:
CMakeFirstConfigure.cxx CMakeFirstConfigure.h
CMakeFirstConfigure.ui
Log Message:
ENH:
For bug #7191.
Improvements to the dialog that sets up the first configure.
Fixing the large size of it by breaking it up into a wizard.
Also incorporated suggestions from bug report.
--- CMakeFirstConfigure.cxx DELETED ---
--- NEW FILE: Compilers.h ---
#ifndef COMPILERS_HPP
#define COMPILERS_HPP
#include <QWidget>
#include <ui_Compilers.h>
class Compilers : public QWidget, public Ui::Compilers
{
Q_OBJECT
public:
Compilers(QWidget* p=NULL) :
QWidget(p)
{
this->setupUi(this);
}
};
#endif
--- CMakeFirstConfigure.h DELETED ---
Index: CMakeSetupDialog.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/QtDialog/CMakeSetupDialog.cxx,v
retrieving revision 1.55
retrieving revision 1.56
diff -C 2 -d -r1.55 -r1.56
*** CMakeSetupDialog.cxx 5 Jul 2008 17:25:04 -0000 1.55
--- CMakeSetupDialog.cxx 16 Dec 2008 20:00:17 -0000 1.56
***************
*** 37,41 ****
#include "QCMakeCacheView.h"
#include "AddCacheEntry.h"
! #include "CMakeFirstConfigure.h"
QCMakeThread::QCMakeThread(QObject* p)
--- 37,41 ----
#include "QCMakeCacheView.h"
#include "AddCacheEntry.h"
! #include "FirstConfigure.h"
QCMakeThread::QCMakeThread(QObject* p)
***************
*** 553,557 ****
bool CMakeSetupDialog::setupFirstConfigure()
{
! CMakeFirstConfigure dialog;
// initialize dialog and restore saved settings
--- 553,557 ----
bool CMakeSetupDialog::setupFirstConfigure()
{
! FirstConfigure dialog;
// initialize dialog and restore saved settings
***************
*** 562,566 ****
// restore from settings
dialog.loadFromSettings();
!
if(dialog.exec() == QDialog::Accepted)
{
--- 562,566 ----
// restore from settings
dialog.loadFromSettings();
!
if(dialog.exec() == QDialog::Accepted)
{
***************
*** 594,636 ****
else if(dialog.crossCompilerSetup())
{
! QString toolchainFile = dialog.crossCompilerToolChainFile();
! if(!toolchainFile.isEmpty())
{
! m->insertProperty(QCMakeProperty::FILEPATH, "CMAKE_TOOLCHAIN_FILE",
! "Cross Compile ToolChain File", toolchainFile, false);
}
- else
- {
- QString fortranCompiler = dialog.getFortranCompiler();
- if(!fortranCompiler.isEmpty())
- {
- m->insertProperty(QCMakeProperty::FILEPATH, "CMAKE_Fortran_COMPILER",
- "Fortran compiler.", fortranCompiler, false);
- }
! QString mode = dialog.getCrossIncludeMode();
! m->insertProperty(QCMakeProperty::STRING, "CMAKE_FIND_ROOT_PATH_MODE_INCLUDE",
! "CMake Find Include Mode", mode, false);
! mode = dialog.getCrossLibraryMode();
! m->insertProperty(QCMakeProperty::STRING, "CMAKE_FIND_ROOT_PATH_MODE_LIBRARY",
! "CMake Find Library Mode", mode, false);
! mode = dialog.getCrossProgramMode();
! m->insertProperty(QCMakeProperty::STRING, "CMAKE_FIND_ROOT_PATH_MODE_PROGRAM",
! "CMake Find Program Mode", mode, false);
!
! QString rootPath = dialog.getCrossRoot();
! m->insertProperty(QCMakeProperty::PATH, "CMAKE_FIND_ROOT_PATH",
! "CMake Find Root Path", rootPath, false);
! QString systemName = dialog.getSystemName();
! m->insertProperty(QCMakeProperty::STRING, "CMAKE_SYSTEM_NAME",
! "CMake System Name", systemName, false);
! QString cxxCompiler = dialog.getCXXCompiler();
! m->insertProperty(QCMakeProperty::FILEPATH, "CMAKE_CXX_COMPILER",
! "CXX compiler.", cxxCompiler, false);
! QString cCompiler = dialog.getCCompiler();
! m->insertProperty(QCMakeProperty::FILEPATH, "CMAKE_C_COMPILER",
! "C compiler.", cCompiler, false);
! }
}
return true;
--- 594,633 ----
else if(dialog.crossCompilerSetup())
{
! QString fortranCompiler = dialog.getFortranCompiler();
! if(!fortranCompiler.isEmpty())
{
! m->insertProperty(QCMakeProperty::FILEPATH, "CMAKE_Fortran_COMPILER",
! "Fortran compiler.", fortranCompiler, false);
}
! QString mode = dialog.getCrossIncludeMode();
! m->insertProperty(QCMakeProperty::STRING, "CMAKE_FIND_ROOT_PATH_MODE_INCLUDE",
! "CMake Find Include Mode", mode, false);
! mode = dialog.getCrossLibraryMode();
! m->insertProperty(QCMakeProperty::STRING, "CMAKE_FIND_ROOT_PATH_MODE_LIBRARY",
! "CMake Find Library Mode", mode, false);
! mode = dialog.getCrossProgramMode();
! m->insertProperty(QCMakeProperty::STRING, "CMAKE_FIND_ROOT_PATH_MODE_PROGRAM",
! "CMake Find Program Mode", mode, false);
!
! QString rootPath = dialog.getCrossRoot();
! m->insertProperty(QCMakeProperty::PATH, "CMAKE_FIND_ROOT_PATH",
! "CMake Find Root Path", rootPath, false);
! QString systemName = dialog.getSystemName();
! m->insertProperty(QCMakeProperty::STRING, "CMAKE_SYSTEM_NAME",
! "CMake System Name", systemName, false);
! QString cxxCompiler = dialog.getCXXCompiler();
! m->insertProperty(QCMakeProperty::FILEPATH, "CMAKE_CXX_COMPILER",
! "CXX compiler.", cxxCompiler, false);
! QString cCompiler = dialog.getCCompiler();
! m->insertProperty(QCMakeProperty::FILEPATH, "CMAKE_C_COMPILER",
! "C compiler.", cCompiler, false);
! }
! else if(dialog.crossCompilerToolChainFile())
! {
! QString toolchainFile = dialog.getCrossCompilerToolChainFile();
! m->insertProperty(QCMakeProperty::FILEPATH, "CMAKE_TOOLCHAIN_FILE",
! "Cross Compile ToolChain File", toolchainFile, false);
}
return true;
Index: CMakeLists.txt
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/QtDialog/CMakeLists.txt,v
retrieving revision 1.19
retrieving revision 1.20
diff -C 2 -d -r1.19 -r1.20
*** CMakeLists.txt 15 May 2008 23:21:01 -0000 1.19
--- CMakeLists.txt 16 Dec 2008 20:00:17 -0000 1.20
***************
*** 17,25 ****
AddCacheEntry.cxx
AddCacheEntry.h
- CMakeFirstConfigure.cxx
- CMakeFirstConfigure.h
CMakeSetup.cxx
CMakeSetupDialog.cxx
CMakeSetupDialog.h
QCMake.cxx
QCMake.h
--- 17,25 ----
AddCacheEntry.cxx
AddCacheEntry.h
CMakeSetup.cxx
CMakeSetupDialog.cxx
CMakeSetupDialog.h
+ FirstConfigure.cxx
+ FirstConfigure.h
QCMake.cxx
QCMake.h
***************
*** 32,37 ****
)
QT4_WRAP_UI(UI_SRCS
- CMakeFirstConfigure.ui
CMakeSetupDialog.ui
AddCacheEntry.ui
MacInstallDialog.ui
--- 32,38 ----
)
QT4_WRAP_UI(UI_SRCS
CMakeSetupDialog.ui
+ Compilers.ui
+ CrossCompiler.ui
AddCacheEntry.ui
MacInstallDialog.ui
***************
*** 39,44 ****
QT4_WRAP_CPP(MOC_SRCS
AddCacheEntry.h
! CMakeFirstConfigure.h
CMakeSetupDialog.h
QCMake.h
QCMakeCacheView.h
--- 40,46 ----
QT4_WRAP_CPP(MOC_SRCS
AddCacheEntry.h
! Compilers.h
CMakeSetupDialog.h
+ FirstConfigure.h
QCMake.h
QCMakeCacheView.h
--- NEW FILE: Compilers.ui ---
<ui version="4.0" >
<class>Compilers</class>
<widget class="QWidget" name="Compilers" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>506</width>
<height>115</height>
</rect>
</property>
<property name="windowTitle" >
<string>Form</string>
</property>
<layout class="QGridLayout" >
<property name="leftMargin" >
<number>0</number>
</property>
<property name="topMargin" >
<number>0</number>
</property>
<property name="rightMargin" >
<number>0</number>
</property>
<property name="bottomMargin" >
<number>0</number>
</property>
<item row="0" column="0" >
<widget class="QGroupBox" name="groupBox_4" >
<property name="title" >
<string>Compilers</string>
</property>
<layout class="QGridLayout" >
<property name="leftMargin" >
<number>4</number>
</property>
<property name="topMargin" >
<number>4</number>
</property>
<property name="rightMargin" >
<number>4</number>
</property>
<item row="0" column="0" >
<widget class="QLabel" name="label_16" >
<property name="text" >
<string>C</string>
</property>
</widget>
</item>
<item row="0" column="1" >
<widget class="QCMakeFilePathEditor" name="CCompiler" />
</item>
<item row="0" column="2" >
<widget class="QLabel" name="label_17" >
<property name="text" >
<string>C++</string>
</property>
</widget>
</item>
<item row="0" column="3" >
<widget class="QCMakeFilePathEditor" name="CXXCompiler" />
</item>
<item row="1" column="0" >
<widget class="QLabel" name="label_18" >
<property name="text" >
<string>Fortran</string>
</property>
</widget>
</item>
<item row="1" column="1" >
<widget class="QCMakeFilePathEditor" name="FortranCompiler" />
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>QCMakeFilePathEditor</class>
<extends>QLineEdit</extends>
<header>QCMakeWidgets.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>
--- NEW FILE: FirstConfigure.h ---
#ifndef FirstConfigure_h
#define FirstConfigure_h
#include <QWizard>
#include <QWizardPage>
#include "ui_Compilers.h"
#include "ui_CrossCompiler.h"
class QRadioButton;
class QComboBox;
//! the wizard pages we'll use for the first configure of a build
enum FirstConfigurePages
{
Start,
NativeSetup,
ToolchainSetup,
CrossSetup,
Done
};
//! the first page that gives basic options for what compilers setup to choose from
class StartCompilerSetup : public QWizardPage
{
Q_OBJECT
public:
StartCompilerSetup(QWidget* p);
~StartCompilerSetup();
void setGenerators(const QStringList& gens);
void setCurrentGenerator(const QString& gen);
QString getGenerator() const;
bool defaultSetup() const;
bool compilerSetup() const;
bool crossCompilerSetup() const;
bool crossCompilerToolChainFile() const;
int nextId() const;
signals:
void selectionChanged();
protected slots:
void onSelectionChanged(bool);
protected:
QComboBox* GeneratorOptions;
QRadioButton* CompilerSetupOptions[4];
};
//! the page that gives basic options for native compilers
class NativeCompilerSetup : public QWizardPage, protected Ui::Compilers
{
Q_OBJECT
public:
NativeCompilerSetup(QWidget* p);
~NativeCompilerSetup();
QString getCCompiler() const;
void setCCompiler(const QString&);
QString getCXXCompiler() const;
void setCXXCompiler(const QString&);
QString getFortranCompiler() const;
void setFortranCompiler(const QString&);
int nextId() const { return -1; }
};
//! the page that gives options for cross compilers
class CrossCompilerSetup : public QWizardPage, protected Ui::CrossCompiler
{
Q_OBJECT
public:
CrossCompilerSetup(QWidget* p);
~CrossCompilerSetup();
QString getSystem() const;
void setSystem(const QString&);
QString getVersion() const;
void setVersion(const QString&);
QString getProcessor() const;
void setProcessor(const QString&);
QString getCCompiler() const;
void setCCompiler(const QString&);
QString getCXXCompiler() const;
void setCXXCompiler(const QString&);
QString getFortranCompiler() const;
void setFortranCompiler(const QString&);
QString getFindRoot() const;
void setFindRoot(const QString&);
enum CrossMode
{
BOTH,
ONLY,
NEVER
};
int getProgramMode() const;
void setProgramMode(int);
int getLibraryMode() const;
void setLibraryMode(int);
int getIncludeMode() const;
void setIncludeMode(int);
int nextId() const { return -1; }
};
//! the page that gives options for a toolchain file
class ToolchainCompilerSetup : public QWizardPage
{
Q_OBJECT
public:
ToolchainCompilerSetup(QWidget* p);
~ToolchainCompilerSetup();
QString toolchainFile() const;
void setToolchainFile(const QString&);
int nextId() const { return -1; }
protected:
QCMakeFilePathEditor* ToolchainFile;
};
//! the wizard with the pages
class FirstConfigure : public QWizard
{
Q_OBJECT
public:
FirstConfigure();
~FirstConfigure();
void setGenerators(const QStringList& gens);
QString getGenerator() const;
bool defaultSetup() const;
bool compilerSetup() const;
bool crossCompilerSetup() const;
bool crossCompilerToolChainFile() const;
QString getCCompiler() const;
QString getCXXCompiler() const;
QString getFortranCompiler() const;
QString getSystemName() const;
QString getSystemVersion() const;
QString getSystemProcessor() const;
QString getCrossRoot() const;
QString getCrossProgramMode() const;
QString getCrossLibraryMode() const;
QString getCrossIncludeMode() const;
QString getCrossCompilerToolChainFile() const;
void loadFromSettings();
void saveToSettings();
protected:
StartCompilerSetup* mStartCompilerSetupPage;
NativeCompilerSetup* mNativeCompilerSetupPage;
CrossCompilerSetup* mCrossCompilerSetupPage;
ToolchainCompilerSetup* mToolchainCompilerSetupPage;
};
#endif // FirstConfigure_h
--- NEW FILE: FirstConfigure.cxx ---
#include "FirstConfigure.h"
#include "Compilers.h"
#include <QSettings>
#include <QRadioButton>
#include <QComboBox>
#include <QVBoxLayout>
StartCompilerSetup::StartCompilerSetup(QWidget* p)
: QWizardPage(p)
{
QVBoxLayout* l = new QVBoxLayout(this);
l->addWidget(new QLabel(tr("Specify the generator for this project")));
this->GeneratorOptions = new QComboBox(this);
l->addWidget(this->GeneratorOptions);
l->addSpacing(6);
this->CompilerSetupOptions[0] = new QRadioButton("Use default native compilers", this);
this->CompilerSetupOptions[1] = new QRadioButton("Specify native compilers", this);
this->CompilerSetupOptions[2] = new QRadioButton("Specify toolchain file for cross-compiling", this);
this->CompilerSetupOptions[3] = new QRadioButton("Specify options for cross-compiling", this);
l->addWidget(this->CompilerSetupOptions[0]);
l->addWidget(this->CompilerSetupOptions[1]);
l->addWidget(this->CompilerSetupOptions[2]);
l->addWidget(this->CompilerSetupOptions[3]);
this->CompilerSetupOptions[0]->setChecked(true);
QObject::connect(this->CompilerSetupOptions[0], SIGNAL(toggled(bool)),
this, SLOT(onSelectionChanged(bool)));
QObject::connect(this->CompilerSetupOptions[1], SIGNAL(toggled(bool)),
this, SLOT(onSelectionChanged(bool)));
QObject::connect(this->CompilerSetupOptions[2], SIGNAL(toggled(bool)),
this, SLOT(onSelectionChanged(bool)));
QObject::connect(this->CompilerSetupOptions[3], SIGNAL(toggled(bool)),
this, SLOT(onSelectionChanged(bool)));
}
StartCompilerSetup::~StartCompilerSetup()
{
}
void StartCompilerSetup::setGenerators(const QStringList& gens)
{
this->GeneratorOptions->clear();
this->GeneratorOptions->addItems(gens);
};
void StartCompilerSetup::setCurrentGenerator(const QString& gen)
{
int idx = this->GeneratorOptions->findText(gen);
if(idx != -1)
{
this->GeneratorOptions->setCurrentIndex(idx);
}
}
QString StartCompilerSetup::getGenerator() const
{
return this->GeneratorOptions->currentText();
};
bool StartCompilerSetup::defaultSetup() const
{
return this->CompilerSetupOptions[0]->isChecked();
}
bool StartCompilerSetup::compilerSetup() const
{
return this->CompilerSetupOptions[1]->isChecked();
}
bool StartCompilerSetup::crossCompilerToolChainFile() const
{
return this->CompilerSetupOptions[2]->isChecked();
}
bool StartCompilerSetup::crossCompilerSetup() const
{
return this->CompilerSetupOptions[3]->isChecked();
}
void StartCompilerSetup::onSelectionChanged(bool on)
{
if(on)
selectionChanged();
}
int StartCompilerSetup::nextId() const
{
if(compilerSetup())
return NativeSetup;
if(crossCompilerSetup())
return CrossSetup;
if(crossCompilerToolChainFile())
return ToolchainSetup;
return -1;
}
NativeCompilerSetup::NativeCompilerSetup(QWidget* p)
: QWizardPage(p)
{
QVBoxLayout* l = new QVBoxLayout(this);
QWidget* c = new QWidget(this);
l->addWidget(c);
this->setupUi(c);
}
NativeCompilerSetup::~NativeCompilerSetup()
{
}
QString NativeCompilerSetup::getCCompiler() const
{
return this->CCompiler->text();
}
void NativeCompilerSetup::setCCompiler(const QString& s)
{
this->CCompiler->setText(s);
}
QString NativeCompilerSetup::getCXXCompiler() const
{
return this->CXXCompiler->text();
}
void NativeCompilerSetup::setCXXCompiler(const QString& s)
{
this->CXXCompiler->setText(s);
}
QString NativeCompilerSetup::getFortranCompiler() const
{
return this->FortranCompiler->text();
}
void NativeCompilerSetup::setFortranCompiler(const QString& s)
{
this->FortranCompiler->setText(s);
}
CrossCompilerSetup::CrossCompilerSetup(QWidget* p)
: QWizardPage(p)
{
this->setupUi(this);
QWidget::setTabOrder(systemName, systemVersion);
QWidget::setTabOrder(systemVersion, systemProcessor);
QWidget::setTabOrder(systemProcessor, CrossCompilers->CCompiler);
QWidget::setTabOrder(CrossCompilers->CCompiler, CrossCompilers->CXXCompiler);
QWidget::setTabOrder(CrossCompilers->CXXCompiler, CrossCompilers->FortranCompiler);
QWidget::setTabOrder(CrossCompilers->FortranCompiler, crossFindRoot);
QWidget::setTabOrder(crossFindRoot, crossProgramMode);
QWidget::setTabOrder(crossProgramMode, crossLibraryMode);
QWidget::setTabOrder(crossLibraryMode, crossIncludeMode);
// fill in combo boxes
QStringList modes;
modes << "Search in Target Root, then native system";
modes << "Search only in Target Root";
modes << "Search only in native system";
crossProgramMode->addItems(modes);
crossLibraryMode->addItems(modes);
crossIncludeMode->addItems(modes);
crossProgramMode->setCurrentIndex(2);
crossLibraryMode->setCurrentIndex(1);
crossIncludeMode->setCurrentIndex(1);
this->registerField("systemName*", this->systemName);
}
CrossCompilerSetup::~CrossCompilerSetup()
{
}
QString CrossCompilerSetup::getCCompiler() const
{
return this->CrossCompilers->CCompiler->text();
}
void CrossCompilerSetup::setCCompiler(const QString& s)
{
this->CrossCompilers->CCompiler->setText(s);
}
QString CrossCompilerSetup::getCXXCompiler() const
{
return this->CrossCompilers->CXXCompiler->text();
}
void CrossCompilerSetup::setCXXCompiler(const QString& s)
{
this->CrossCompilers->CXXCompiler->setText(s);
}
QString CrossCompilerSetup::getFortranCompiler() const
{
return this->CrossCompilers->FortranCompiler->text();
}
void CrossCompilerSetup::setFortranCompiler(const QString& s)
{
this->CrossCompilers->FortranCompiler->setText(s);
}
QString CrossCompilerSetup::getSystem() const
{
return this->systemName->text();
}
void CrossCompilerSetup::setSystem(const QString& t)
{
this->systemName->setText(t);
}
QString CrossCompilerSetup::getVersion() const
{
return this->systemVersion->text();
}
void CrossCompilerSetup::setVersion(const QString& t)
{
this->systemVersion->setText(t);
}
QString CrossCompilerSetup::getProcessor() const
{
return this->systemProcessor->text();
}
void CrossCompilerSetup::setProcessor(const QString& t)
{
this->systemProcessor->setText(t);
}
QString CrossCompilerSetup::getFindRoot() const
{
return this->crossFindRoot->text();
}
void CrossCompilerSetup::setFindRoot(const QString& t)
{
return this->crossFindRoot->setText(t);
}
int CrossCompilerSetup::getProgramMode() const
{
return this->crossProgramMode->currentIndex();
}
int CrossCompilerSetup::getLibraryMode() const
{
return this->crossLibraryMode->currentIndex();
}
int CrossCompilerSetup::getIncludeMode() const
{
return this->crossIncludeMode->currentIndex();
}
void CrossCompilerSetup::setProgramMode(int m)
{
this->crossProgramMode->setCurrentIndex(m);
}
void CrossCompilerSetup::setLibraryMode(int m)
{
this->crossLibraryMode->setCurrentIndex(m);
}
void CrossCompilerSetup::setIncludeMode(int m)
{
this->crossIncludeMode->setCurrentIndex(m);
}
ToolchainCompilerSetup::ToolchainCompilerSetup(QWidget* p)
: QWizardPage(p)
{
QVBoxLayout* l = new QVBoxLayout(this);
l->addWidget(new QLabel(tr("Specify the Toolchain file")));
this->ToolchainFile = new QCMakeFilePathEditor(this);
l->addWidget(this->ToolchainFile);
}
ToolchainCompilerSetup::~ToolchainCompilerSetup()
{
}
QString ToolchainCompilerSetup::toolchainFile() const
{
return this->ToolchainFile->text();
}
void ToolchainCompilerSetup::setToolchainFile(const QString& t)
{
this->ToolchainFile->setText(t);
}
FirstConfigure::FirstConfigure()
{
//this->setOption(QWizard::HaveFinishButtonOnEarlyPages, true);
this->mStartCompilerSetupPage = new StartCompilerSetup(this);
this->setPage(Start, this->mStartCompilerSetupPage);
QObject::connect(this->mStartCompilerSetupPage, SIGNAL(selectionChanged()),
this, SLOT(restart()));
this->mNativeCompilerSetupPage = new NativeCompilerSetup(this);
this->setPage(NativeSetup, this->mNativeCompilerSetupPage);
this->mCrossCompilerSetupPage = new CrossCompilerSetup(this);
this->setPage(CrossSetup, this->mCrossCompilerSetupPage);
this->mToolchainCompilerSetupPage = new ToolchainCompilerSetup(this);
this->setPage(ToolchainSetup, this->mToolchainCompilerSetupPage);
}
FirstConfigure::~FirstConfigure()
{
}
void FirstConfigure::setGenerators(const QStringList& gens)
{
this->mStartCompilerSetupPage->setGenerators(gens);
}
QString FirstConfigure::getGenerator() const
{
return this->mStartCompilerSetupPage->getGenerator();
}
void FirstConfigure::loadFromSettings()
{
QSettings settings;
// restore generator
settings.beginGroup("Settings/StartPath");
QString lastGen = settings.value("LastGenerator").toString();
this->mStartCompilerSetupPage->setCurrentGenerator(lastGen);
settings.endGroup();
// restore compiler setup
settings.beginGroup("Settings/Compiler");
this->mNativeCompilerSetupPage->setCCompiler(settings.value("CCompiler").toString());
this->mNativeCompilerSetupPage->setCXXCompiler(settings.value("CXXCompiler").toString());
this->mNativeCompilerSetupPage->setFortranCompiler(settings.value("FortranCompiler").toString());
settings.endGroup();
// restore cross compiler setup
settings.beginGroup("Settings/CrossCompiler");
this->mCrossCompilerSetupPage->setCCompiler(settings.value("CCompiler").toString());
this->mCrossCompilerSetupPage->setCXXCompiler(settings.value("CXXCompiler").toString());
this->mCrossCompilerSetupPage->setFortranCompiler(settings.value("FortranCompiler").toString());
this->mToolchainCompilerSetupPage->setToolchainFile(settings.value("ToolChainFile").toString());
this->mCrossCompilerSetupPage->setSystem(settings.value("SystemName").toString());
this->mCrossCompilerSetupPage->setVersion(settings.value("SystemVersion").toString());
this->mCrossCompilerSetupPage->setProcessor(settings.value("SystemProcessor").toString());
this->mCrossCompilerSetupPage->setFindRoot(settings.value("FindRoot").toString());
this->mCrossCompilerSetupPage->setProgramMode(settings.value("ProgramMode", 0).toInt());
this->mCrossCompilerSetupPage->setLibraryMode(settings.value("LibraryMode", 0).toInt());
this->mCrossCompilerSetupPage->setIncludeMode(settings.value("IncludeMode", 0).toInt());
settings.endGroup();
}
void FirstConfigure::saveToSettings()
{
QSettings settings;
// save generator
settings.beginGroup("Settings/StartPath");
QString lastGen = this->mStartCompilerSetupPage->getGenerator();
settings.setValue("LastGenerator", lastGen);
settings.endGroup();
// save compiler setup
settings.beginGroup("Settings/Compiler");
settings.setValue("CCompiler", this->mNativeCompilerSetupPage->getCCompiler());
settings.setValue("CXXCompiler", this->mNativeCompilerSetupPage->getCXXCompiler());
settings.setValue("FortranCompiler", this->mNativeCompilerSetupPage->getFortranCompiler());
settings.endGroup();
// save cross compiler setup
settings.beginGroup("Settings/CrossCompiler");
settings.setValue("CCompiler", this->mCrossCompilerSetupPage->getCCompiler());
settings.setValue("CXXCompiler", this->mCrossCompilerSetupPage->getCXXCompiler());
settings.setValue("FortranCompiler", this->mCrossCompilerSetupPage->getFortranCompiler());
settings.setValue("ToolChainFile", this->getCrossCompilerToolChainFile());
settings.setValue("SystemName", this->mCrossCompilerSetupPage->getSystem());
settings.setValue("SystemVersion", this->mCrossCompilerSetupPage->getVersion());
settings.setValue("SystemProcessor", this->mCrossCompilerSetupPage->getProcessor());
settings.setValue("FindRoot", this->mCrossCompilerSetupPage->getFindRoot());
settings.setValue("ProgramMode", this->mCrossCompilerSetupPage->getProgramMode());
settings.setValue("LibraryMode", this->mCrossCompilerSetupPage->getLibraryMode());
settings.setValue("IncludeMode", this->mCrossCompilerSetupPage->getIncludeMode());
settings.endGroup();
}
bool FirstConfigure::defaultSetup() const
{
return this->mStartCompilerSetupPage->defaultSetup();
}
bool FirstConfigure::compilerSetup() const
{
return this->mStartCompilerSetupPage->compilerSetup();
}
bool FirstConfigure::crossCompilerSetup() const
{
return this->mStartCompilerSetupPage->crossCompilerSetup();
}
bool FirstConfigure::crossCompilerToolChainFile() const
{
return this->mStartCompilerSetupPage->crossCompilerToolChainFile();
}
QString FirstConfigure::getCrossCompilerToolChainFile() const
{
return this->mToolchainCompilerSetupPage->toolchainFile();
}
QString FirstConfigure::getSystemName() const
{
return this->mCrossCompilerSetupPage->getSystem();
}
QString FirstConfigure::getCCompiler() const
{
if(this->compilerSetup())
{
return this->mNativeCompilerSetupPage->getCCompiler();
}
else if(this->crossCompilerSetup())
{
return this->mCrossCompilerSetupPage->getCCompiler();
}
return QString();
}
QString FirstConfigure::getCXXCompiler() const
{
if(this->compilerSetup())
{
return this->mNativeCompilerSetupPage->getCXXCompiler();
}
else if(this->crossCompilerSetup())
{
return this->mCrossCompilerSetupPage->getCXXCompiler();
}
return QString();
}
QString FirstConfigure::getFortranCompiler() const
{
if(this->compilerSetup())
{
return this->mNativeCompilerSetupPage->getFortranCompiler();
}
else if(this->crossCompilerSetup())
{
return this->mCrossCompilerSetupPage->getFortranCompiler();
}
return QString();
}
QString FirstConfigure::getSystemVersion() const
{
return this->mCrossCompilerSetupPage->getVersion();
}
QString FirstConfigure::getSystemProcessor() const
{
return this->mCrossCompilerSetupPage->getProcessor();
}
QString FirstConfigure::getCrossRoot() const
{
return this->mCrossCompilerSetupPage->getFindRoot();
}
const QString CrossModes[] =
{
"BOTH",
"ONLY",
"NEVER"
};
QString FirstConfigure::getCrossProgramMode() const
{
return CrossModes[this->mCrossCompilerSetupPage->getProgramMode()];
}
QString FirstConfigure::getCrossLibraryMode() const
{
return CrossModes[this->mCrossCompilerSetupPage->getLibraryMode()];
}
QString FirstConfigure::getCrossIncludeMode() const
{
return CrossModes[this->mCrossCompilerSetupPage->getIncludeMode()];
}
--- NEW FILE: CrossCompiler.ui ---
<ui version="4.0" >
<class>CrossCompiler</class>
<widget class="QWidget" name="CrossCompiler" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>433</width>
<height>319</height>
</rect>
</property>
<property name="windowTitle" >
<string>CrossCompiler</string>
</property>
<layout class="QGridLayout" >
<item row="0" column="0" >
<widget class="QGroupBox" name="groupBox" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title" >
<string>Target System</string>
</property>
<layout class="QGridLayout" >
<item row="0" column="0" >
<widget class="QLabel" name="label_6" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Operating System</string>
</property>
</widget>
</item>
<item row="0" column="1" >
<widget class="QCMakeFilePathEditor" name="systemName" />
</item>
<item row="0" column="2" colspan="2" >
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0" >
<widget class="QLabel" name="label_10" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Version</string>
</property>
<property name="wordWrap" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1" >
<widget class="QLineEdit" name="systemVersion" />
</item>
<item row="1" column="2" >
<widget class="QLabel" name="label_11" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Processor</string>
</property>
<property name="wordWrap" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="3" >
<widget class="QLineEdit" name="systemProcessor" />
</item>
</layout>
</widget>
</item>
<item row="2" column="0" >
<widget class="QGroupBox" name="groupBox_2" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title" >
<string>Find Program/Library/Include</string>
</property>
<layout class="QGridLayout" >
<item row="0" column="0" >
<widget class="QLabel" name="label_9" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Target Root</string>
</property>
<property name="wordWrap" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1" >
<widget class="QCMakePathEditor" name="crossFindRoot" />
</item>
<item row="0" column="2" >
<widget class="QLabel" name="label_12" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Program Mode</string>
</property>
</widget>
</item>
<item row="0" column="3" >
<widget class="QComboBox" name="crossProgramMode" />
</item>
<item row="1" column="0" >
<widget class="QLabel" name="label_13" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Library Mode</string>
</property>
</widget>
</item>
<item row="1" column="1" >
<widget class="QComboBox" name="crossLibraryMode" />
</item>
<item row="1" column="2" >
<widget class="QLabel" name="label_14" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>Include Mode</string>
</property>
</widget>
</item>
<item row="1" column="3" >
<widget class="QComboBox" name="crossIncludeMode" />
</item>
</layout>
</widget>
</item>
<item row="1" column="0" >
<widget class="Compilers" native="1" name="CrossCompilers" >
<property name="focusPolicy" >
<enum>Qt::TabFocus</enum>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>QCMakePathEditor</class>
<extends>QLineEdit</extends>
<header>QCMakeWidgets.h</header>
</customwidget>
<customwidget>
<class>Compilers</class>
<extends>QWidget</extends>
<header>Compilers.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>QCMakeFilePathEditor</class>
<extends>QLineEdit</extends>
<header>QCMakeWidgets.h</header>
</customwidget>
</customwidgets>
<tabstops>
<tabstop>systemVersion</tabstop>
<tabstop>systemProcessor</tabstop>
<tabstop>CrossCompilers</tabstop>
<tabstop>crossFindRoot</tabstop>
<tabstop>crossProgramMode</tabstop>
<tabstop>crossLibraryMode</tabstop>
<tabstop>crossIncludeMode</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>
--- CMakeFirstConfigure.ui DELETED ---
More information about the Cmake-commits
mailing list