forked from qt-creator/qt-creator
Symbian: Remove support for S60 emulator
The Qt SDK never supported this, so remove it from Qt Creator. Change-Id: I1da9d658195083aa1b6f5d8119cc03c4984e8d77 Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
This commit is contained in:
@@ -3,15 +3,12 @@ SOURCES += $$PWD/s60manager.cpp \
|
|||||||
$$PWD/symbianideviceconfigwidget.cpp \
|
$$PWD/symbianideviceconfigwidget.cpp \
|
||||||
$$PWD/symbianidevicefactory.cpp \
|
$$PWD/symbianidevicefactory.cpp \
|
||||||
$$PWD/sbsv2parser.cpp \
|
$$PWD/sbsv2parser.cpp \
|
||||||
$$PWD/winscwtoolchain.cpp \
|
|
||||||
$$PWD/gccetoolchain.cpp \
|
$$PWD/gccetoolchain.cpp \
|
||||||
$$PWD/s60emulatorrunconfiguration.cpp \
|
|
||||||
$$PWD/s60devicerunconfiguration.cpp \
|
$$PWD/s60devicerunconfiguration.cpp \
|
||||||
$$PWD/s60devicerunconfigurationwidget.cpp \
|
$$PWD/s60devicerunconfigurationwidget.cpp \
|
||||||
$$PWD/rvcttoolchain.cpp \
|
$$PWD/rvcttoolchain.cpp \
|
||||||
$$PWD/abldparser.cpp \
|
$$PWD/abldparser.cpp \
|
||||||
$$PWD/rvctparser.cpp \
|
$$PWD/rvctparser.cpp \
|
||||||
$$PWD/winscwparser.cpp \
|
|
||||||
$$PWD/s60createpackagestep.cpp \
|
$$PWD/s60createpackagestep.cpp \
|
||||||
$$PWD/s60deploystep.cpp \
|
$$PWD/s60deploystep.cpp \
|
||||||
$$PWD/s60createpackageparser.cpp \
|
$$PWD/s60createpackageparser.cpp \
|
||||||
@@ -42,15 +39,12 @@ HEADERS += $$PWD/s60manager.h \
|
|||||||
$$PWD/symbianideviceconfigwidget.h \
|
$$PWD/symbianideviceconfigwidget.h \
|
||||||
$$PWD/symbianidevicefactory.h \
|
$$PWD/symbianidevicefactory.h \
|
||||||
$$PWD/sbsv2parser.h \
|
$$PWD/sbsv2parser.h \
|
||||||
$$PWD/winscwtoolchain.h \
|
|
||||||
$$PWD/gccetoolchain.h \
|
$$PWD/gccetoolchain.h \
|
||||||
$$PWD/s60emulatorrunconfiguration.h \
|
|
||||||
$$PWD/s60devicerunconfiguration.h \
|
$$PWD/s60devicerunconfiguration.h \
|
||||||
$$PWD/s60devicerunconfigurationwidget.h \
|
$$PWD/s60devicerunconfigurationwidget.h \
|
||||||
$$PWD/rvcttoolchain.h \
|
$$PWD/rvcttoolchain.h \
|
||||||
$$PWD/abldparser.h \
|
$$PWD/abldparser.h \
|
||||||
$$PWD/rvctparser.h \
|
$$PWD/rvctparser.h \
|
||||||
$$PWD/winscwparser.h \
|
|
||||||
$$PWD/s60createpackagestep.h \
|
$$PWD/s60createpackagestep.h \
|
||||||
$$PWD/s60deploystep.h \
|
$$PWD/s60deploystep.h \
|
||||||
$$PWD/s60createpackageparser.h \
|
$$PWD/s60createpackageparser.h \
|
||||||
@@ -79,7 +73,6 @@ HEADERS += $$PWD/s60manager.h \
|
|||||||
FORMS += $$PWD/s60createpackagestep.ui \
|
FORMS += $$PWD/s60createpackagestep.ui \
|
||||||
$$PWD/s60certificatedetailsdialog.ui \
|
$$PWD/s60certificatedetailsdialog.ui \
|
||||||
$$PWD/rvcttoolchainconfigwidget.ui \
|
$$PWD/rvcttoolchainconfigwidget.ui \
|
||||||
$$PWD/winscwtoolchainconfigwidget.ui \
|
|
||||||
$$PWD/s60publishingbuildsettingspageovi.ui \
|
$$PWD/s60publishingbuildsettingspageovi.ui \
|
||||||
$$PWD/s60publishingresultspageovi.ui \
|
$$PWD/s60publishingresultspageovi.ui \
|
||||||
$$PWD/s60publishingsissettingspageovi.ui
|
$$PWD/s60publishingsissettingspageovi.ui
|
||||||
|
|||||||
@@ -38,7 +38,6 @@
|
|||||||
#include "symbianidevice.h"
|
#include "symbianidevice.h"
|
||||||
|
|
||||||
#include "qt-s60/s60deployconfiguration.h"
|
#include "qt-s60/s60deployconfiguration.h"
|
||||||
#include "qt-s60/s60emulatorrunconfiguration.h"
|
|
||||||
#include "qt-s60/s60devicerunconfiguration.h"
|
#include "qt-s60/s60devicerunconfiguration.h"
|
||||||
|
|
||||||
#include <projectexplorer/customexecutablerunconfiguration.h>
|
#include <projectexplorer/customexecutablerunconfiguration.h>
|
||||||
@@ -64,8 +63,6 @@ Qt4SymbianTarget::~Qt4SymbianTarget()
|
|||||||
|
|
||||||
QString Qt4SymbianTarget::defaultDisplayName(const QString &id)
|
QString Qt4SymbianTarget::defaultDisplayName(const QString &id)
|
||||||
{
|
{
|
||||||
if (id == QLatin1String(Constants::S60_EMULATOR_TARGET_ID))
|
|
||||||
return QApplication::translate("Qt4ProjectManager::Qt4Target", "Symbian Emulator", "Qt4 Symbian Emulator target display name");
|
|
||||||
if (id == QLatin1String(Constants::S60_DEVICE_TARGET_ID))
|
if (id == QLatin1String(Constants::S60_DEVICE_TARGET_ID))
|
||||||
return QApplication::translate("Qt4ProjectManager::Qt4Target", "Symbian Device", "Qt4 Symbian Device target display name");
|
return QApplication::translate("Qt4ProjectManager::Qt4Target", "Symbian Device", "Qt4 Symbian Device target display name");
|
||||||
return QString();
|
return QString();
|
||||||
@@ -73,8 +70,6 @@ QString Qt4SymbianTarget::defaultDisplayName(const QString &id)
|
|||||||
|
|
||||||
QIcon Qt4SymbianTarget::iconForId(const QString &id)
|
QIcon Qt4SymbianTarget::iconForId(const QString &id)
|
||||||
{
|
{
|
||||||
if (id == QLatin1String(Constants::S60_EMULATOR_TARGET_ID))
|
|
||||||
return QIcon(QLatin1String(":/projectexplorer/images/SymbianEmulator.png"));
|
|
||||||
if (id == QLatin1String(Constants::S60_DEVICE_TARGET_ID))
|
if (id == QLatin1String(Constants::S60_DEVICE_TARGET_ID))
|
||||||
return QIcon(QLatin1String(":/projectexplorer/images/SymbianDevice.png"));
|
return QIcon(QLatin1String(":/projectexplorer/images/SymbianDevice.png"));
|
||||||
return QIcon();
|
return QIcon();
|
||||||
@@ -85,26 +80,6 @@ ProjectExplorer::IBuildConfigurationFactory *Qt4SymbianTarget::buildConfiguratio
|
|||||||
return m_buildConfigurationFactory;
|
return m_buildConfigurationFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<ProjectExplorer::ToolChain *> Qt4SymbianTarget::possibleToolChains(ProjectExplorer::BuildConfiguration *bc) const
|
|
||||||
{
|
|
||||||
QList<ProjectExplorer::ToolChain *> candidates = Qt4BaseTarget::possibleToolChains(bc);
|
|
||||||
|
|
||||||
QList<ProjectExplorer::ToolChain *> tmp;
|
|
||||||
if (id() == QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) {
|
|
||||||
foreach (ProjectExplorer::ToolChain *tc, candidates) {
|
|
||||||
if (tc->id().startsWith(QLatin1String(Constants::WINSCW_TOOLCHAIN_ID)))
|
|
||||||
tmp.append(tc);
|
|
||||||
}
|
|
||||||
} else if (id() == QLatin1String(Constants::S60_DEVICE_TARGET_ID)) {
|
|
||||||
foreach (ProjectExplorer::ToolChain *tc, candidates) {
|
|
||||||
if (!tc->id().startsWith(QLatin1String(Qt4ProjectManager::Constants::WINSCW_TOOLCHAIN_ID)))
|
|
||||||
tmp.append(tc);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Qt4SymbianTarget::createApplicationProFiles(bool reparse)
|
void Qt4SymbianTarget::createApplicationProFiles(bool reparse)
|
||||||
{
|
{
|
||||||
if (!reparse)
|
if (!reparse)
|
||||||
@@ -116,15 +91,7 @@ void Qt4SymbianTarget::createApplicationProFiles(bool reparse)
|
|||||||
foreach (Qt4ProFileNode *pro, profiles)
|
foreach (Qt4ProFileNode *pro, profiles)
|
||||||
paths << pro->path();
|
paths << pro->path();
|
||||||
|
|
||||||
if (id() == QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) {
|
if (id() == QLatin1String(Constants::S60_DEVICE_TARGET_ID)) {
|
||||||
foreach (ProjectExplorer::RunConfiguration *rc, runConfigurations())
|
|
||||||
if (S60EmulatorRunConfiguration *qt4rc = qobject_cast<S60EmulatorRunConfiguration *>(rc))
|
|
||||||
paths.remove(qt4rc->proFilePath());
|
|
||||||
|
|
||||||
// Only add new runconfigurations if there are none.
|
|
||||||
foreach (const QString &path, paths)
|
|
||||||
addRunConfiguration(new S60EmulatorRunConfiguration(this, path));
|
|
||||||
} else if (id() == QLatin1String(Constants::S60_DEVICE_TARGET_ID)) {
|
|
||||||
foreach (ProjectExplorer::RunConfiguration *rc, runConfigurations())
|
foreach (ProjectExplorer::RunConfiguration *rc, runConfigurations())
|
||||||
if (S60DeviceRunConfiguration *qt4rc = qobject_cast<S60DeviceRunConfiguration *>(rc))
|
if (S60DeviceRunConfiguration *qt4rc = qobject_cast<S60DeviceRunConfiguration *>(rc))
|
||||||
paths.remove(qt4rc->proFilePath());
|
paths.remove(qt4rc->proFilePath());
|
||||||
@@ -144,11 +111,7 @@ QList<ProjectExplorer::RunConfiguration *> Qt4SymbianTarget::runConfigurationsFo
|
|||||||
{
|
{
|
||||||
QList<ProjectExplorer::RunConfiguration *> result;
|
QList<ProjectExplorer::RunConfiguration *> result;
|
||||||
foreach (ProjectExplorer::RunConfiguration *rc, runConfigurations()) {
|
foreach (ProjectExplorer::RunConfiguration *rc, runConfigurations()) {
|
||||||
if (id() == QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) {
|
if (id() == QLatin1String(Constants::S60_DEVICE_TARGET_ID)) {
|
||||||
if (S60EmulatorRunConfiguration * s60rc = qobject_cast<S60EmulatorRunConfiguration *>(rc))
|
|
||||||
if (s60rc->proFilePath() == n->path())
|
|
||||||
result << rc;
|
|
||||||
} else if (id() == QLatin1String(Constants::S60_DEVICE_TARGET_ID)) {
|
|
||||||
if (S60DeviceRunConfiguration *s60rc = qobject_cast<S60DeviceRunConfiguration *>(rc))
|
if (S60DeviceRunConfiguration *s60rc = qobject_cast<S60DeviceRunConfiguration *>(rc))
|
||||||
if (s60rc->proFilePath() == n->path())
|
if (s60rc->proFilePath() == n->path())
|
||||||
result << rc;
|
result << rc;
|
||||||
|
|||||||
@@ -53,8 +53,6 @@ public:
|
|||||||
|
|
||||||
ProjectExplorer::IBuildConfigurationFactory *buildConfigurationFactory() const;
|
ProjectExplorer::IBuildConfigurationFactory *buildConfigurationFactory() const;
|
||||||
|
|
||||||
QList<ProjectExplorer::ToolChain *> possibleToolChains(ProjectExplorer::BuildConfiguration *bc) const;
|
|
||||||
|
|
||||||
void createApplicationProFiles(bool reparse);
|
void createApplicationProFiles(bool reparse);
|
||||||
virtual QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Node *n);
|
virtual QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Node *n);
|
||||||
|
|
||||||
|
|||||||
@@ -37,7 +37,6 @@
|
|||||||
|
|
||||||
#include "qt-s60/s60deployconfiguration.h"
|
#include "qt-s60/s60deployconfiguration.h"
|
||||||
#include "qt-s60/s60devicerunconfiguration.h"
|
#include "qt-s60/s60devicerunconfiguration.h"
|
||||||
#include "qt-s60/s60emulatorrunconfiguration.h"
|
|
||||||
#include "qt-s60/s60createpackagestep.h"
|
#include "qt-s60/s60createpackagestep.h"
|
||||||
#include "qt-s60/s60deploystep.h"
|
#include "qt-s60/s60deploystep.h"
|
||||||
#include "qt-s60/qt4symbiantarget.h"
|
#include "qt-s60/qt4symbiantarget.h"
|
||||||
@@ -70,15 +69,13 @@ Qt4SymbianTargetFactory::~Qt4SymbianTargetFactory()
|
|||||||
|
|
||||||
bool Qt4SymbianTargetFactory::supportsTargetId(const QString &id) const
|
bool Qt4SymbianTargetFactory::supportsTargetId(const QString &id) const
|
||||||
{
|
{
|
||||||
return id == QLatin1String(Constants::S60_DEVICE_TARGET_ID)
|
return id == QLatin1String(Constants::S60_DEVICE_TARGET_ID);
|
||||||
|| id == QLatin1String(Constants::S60_EMULATOR_TARGET_ID);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList Qt4SymbianTargetFactory::supportedTargetIds() const
|
QStringList Qt4SymbianTargetFactory::supportedTargetIds() const
|
||||||
{
|
{
|
||||||
QStringList ids;
|
QStringList ids;
|
||||||
ids << QLatin1String(Constants::S60_DEVICE_TARGET_ID)
|
ids << QLatin1String(Constants::S60_DEVICE_TARGET_ID);
|
||||||
<< QLatin1String(Constants::S60_EMULATOR_TARGET_ID);
|
|
||||||
return ids;
|
return ids;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -89,8 +86,6 @@ QString Qt4SymbianTargetFactory::displayNameForId(const QString &id) const
|
|||||||
|
|
||||||
QIcon Qt4SymbianTargetFactory::iconForId(const QString &id) const
|
QIcon Qt4SymbianTargetFactory::iconForId(const QString &id) const
|
||||||
{
|
{
|
||||||
if (id == QLatin1String(Constants::S60_EMULATOR_TARGET_ID))
|
|
||||||
return QIcon(QLatin1String(":/projectexplorer/images/SymbianEmulator.png"));
|
|
||||||
if (id == QLatin1String(Constants::S60_DEVICE_TARGET_ID))
|
if (id == QLatin1String(Constants::S60_DEVICE_TARGET_ID))
|
||||||
return QIcon(QLatin1String(":/projectexplorer/images/SymbianDevice.png"));
|
return QIcon(QLatin1String(":/projectexplorer/images/SymbianDevice.png"));
|
||||||
return QIcon();
|
return QIcon();
|
||||||
@@ -164,21 +159,12 @@ QList<BuildConfigurationInfo> Qt4SymbianTargetFactory::availableBuildConfigurati
|
|||||||
const QtSupport::QtVersionNumber &maximumQtVersion,
|
const QtSupport::QtVersionNumber &maximumQtVersion,
|
||||||
const Core::FeatureSet &requiredFeatures)
|
const Core::FeatureSet &requiredFeatures)
|
||||||
{
|
{
|
||||||
QList<BuildConfigurationInfo> infos
|
return Qt4BaseTargetFactory::availableBuildConfigurations(id, proFilePath, minimumQtVersion, maximumQtVersion, requiredFeatures);
|
||||||
= Qt4BaseTargetFactory::availableBuildConfigurations(id, proFilePath, minimumQtVersion, maximumQtVersion, requiredFeatures);
|
|
||||||
if (id != QLatin1String(Constants::S60_EMULATOR_TARGET_ID))
|
|
||||||
return infos;
|
|
||||||
// For emulator filter out all non debug builds
|
|
||||||
QList<BuildConfigurationInfo> tmp;
|
|
||||||
foreach (const BuildConfigurationInfo &info, infos)
|
|
||||||
if (info.buildConfig & QtSupport::BaseQtVersion::DebugBuild)
|
|
||||||
tmp << info;
|
|
||||||
return tmp;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Qt4SymbianTargetFactory::selectByDefault(const QString &id) const
|
bool Qt4SymbianTargetFactory::selectByDefault(const QString &id) const
|
||||||
{
|
{
|
||||||
return id != QLatin1String(Constants::S60_EMULATOR_TARGET_ID);
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
QSet<QString> Qt4SymbianTargetFactory::targetFeatures(const QString & /*id*/) const
|
QSet<QString> Qt4SymbianTargetFactory::targetFeatures(const QString & /*id*/) const
|
||||||
@@ -202,15 +188,8 @@ ProjectExplorer::Target *Qt4SymbianTargetFactory::create(ProjectExplorer::Projec
|
|||||||
QtSupport::BaseQtVersion::QmakeBuildConfigs config = qtVersion->defaultBuildConfig();
|
QtSupport::BaseQtVersion::QmakeBuildConfigs config = qtVersion->defaultBuildConfig();
|
||||||
|
|
||||||
QList<BuildConfigurationInfo> infos;
|
QList<BuildConfigurationInfo> infos;
|
||||||
if (id != QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) {
|
infos.append(BuildConfigurationInfo(qtVersion->uniqueId(), config, QString(), QString()));
|
||||||
infos.append(BuildConfigurationInfo(qtVersion->uniqueId(), config, QString(), QString()));
|
infos.append(BuildConfigurationInfo(qtVersion->uniqueId(), config ^ QtSupport::BaseQtVersion::DebugBuild, QString(), QString()));
|
||||||
infos.append(BuildConfigurationInfo(qtVersion->uniqueId(), config ^ QtSupport::BaseQtVersion::DebugBuild, QString(), QString()));
|
|
||||||
} else {
|
|
||||||
if (config & QtSupport::BaseQtVersion::DebugBuild)
|
|
||||||
infos.append(BuildConfigurationInfo(qtVersion->uniqueId(), config, QString(), QString()));
|
|
||||||
else
|
|
||||||
infos.append(BuildConfigurationInfo(qtVersion->uniqueId(), config ^ QtSupport::BaseQtVersion::DebugBuild, QString(), QString()));
|
|
||||||
}
|
|
||||||
|
|
||||||
return create(parent, id, infos);
|
return create(parent, id, infos);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,413 +0,0 @@
|
|||||||
/**************************************************************************
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator
|
|
||||||
**
|
|
||||||
** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
|
|
||||||
**
|
|
||||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
|
||||||
**
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
**
|
|
||||||
** This file may be used under the terms of the GNU Lesser General Public
|
|
||||||
** License version 2.1 as published by the Free Software Foundation and
|
|
||||||
** appearing in the file LICENSE.LGPL included in the packaging of this file.
|
|
||||||
** Please review the following information to ensure the GNU Lesser General
|
|
||||||
** Public License version 2.1 requirements will be met:
|
|
||||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
**
|
|
||||||
** In addition, as a special exception, Nokia gives you certain additional
|
|
||||||
** rights. These rights are described in the Nokia Qt LGPL Exception
|
|
||||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
** Other Usage
|
|
||||||
**
|
|
||||||
** Alternatively, this file may be used in accordance with the terms and
|
|
||||||
** conditions contained in a signed written agreement between you and Nokia.
|
|
||||||
**
|
|
||||||
** If you have questions regarding the use of this file, please contact
|
|
||||||
** Nokia at qt-info@nokia.com.
|
|
||||||
**
|
|
||||||
**************************************************************************/
|
|
||||||
|
|
||||||
#include "s60emulatorrunconfiguration.h"
|
|
||||||
|
|
||||||
#include "qt4project.h"
|
|
||||||
#include "qt4target.h"
|
|
||||||
#include "qt4nodes.h"
|
|
||||||
#include "s60manager.h"
|
|
||||||
#include "qt4symbiantarget.h"
|
|
||||||
#include "qt4projectmanagerconstants.h"
|
|
||||||
#include "qt4buildconfiguration.h"
|
|
||||||
|
|
||||||
#include <projectexplorer/projectexplorerconstants.h>
|
|
||||||
|
|
||||||
#include <utils/qtcassert.h>
|
|
||||||
#include <utils/detailswidget.h>
|
|
||||||
#include <qtsupport/qtoutputformatter.h>
|
|
||||||
#include <qtsupport/baseqtversion.h>
|
|
||||||
|
|
||||||
#include <QLabel>
|
|
||||||
#include <QVBoxLayout>
|
|
||||||
#include <QFormLayout>
|
|
||||||
|
|
||||||
using namespace ProjectExplorer;
|
|
||||||
using namespace Qt4ProjectManager;
|
|
||||||
using namespace Qt4ProjectManager::Internal;
|
|
||||||
|
|
||||||
namespace {
|
|
||||||
const char * const S60_EMULATOR_RC_ID("Qt4ProjectManager.S60EmulatorRunConfiguration");
|
|
||||||
const char * const S60_EMULATOR_RC_PREFIX("Qt4ProjectManager.S60EmulatorRunConfiguration.");
|
|
||||||
|
|
||||||
const char * const PRO_FILE_KEY("Qt4ProjectManager.S60EmulatorRunConfiguration.ProFile");
|
|
||||||
|
|
||||||
QString pathFromId(const QString &id)
|
|
||||||
{
|
|
||||||
if (!id.startsWith(QLatin1String(S60_EMULATOR_RC_PREFIX)))
|
|
||||||
return QString();
|
|
||||||
return id.mid(QString::fromLatin1(S60_EMULATOR_RC_PREFIX).size());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// ======== S60EmulatorRunConfiguration
|
|
||||||
|
|
||||||
S60EmulatorRunConfiguration::S60EmulatorRunConfiguration(Qt4BaseTarget *parent, const QString &proFilePath) :
|
|
||||||
RunConfiguration(parent, QLatin1String(S60_EMULATOR_RC_ID)),
|
|
||||||
m_proFilePath(proFilePath),
|
|
||||||
m_validParse(parent->qt4Project()->validParse(proFilePath)),
|
|
||||||
m_parseInProgress(parent->qt4Project()->parseInProgress(proFilePath))
|
|
||||||
{
|
|
||||||
ctor();
|
|
||||||
}
|
|
||||||
|
|
||||||
S60EmulatorRunConfiguration::S60EmulatorRunConfiguration(Qt4BaseTarget *parent, S60EmulatorRunConfiguration *source) :
|
|
||||||
RunConfiguration(parent, source),
|
|
||||||
m_proFilePath(source->m_proFilePath),
|
|
||||||
m_validParse(source->m_validParse),
|
|
||||||
m_parseInProgress(source->m_parseInProgress)
|
|
||||||
{
|
|
||||||
ctor();
|
|
||||||
}
|
|
||||||
|
|
||||||
void S60EmulatorRunConfiguration::ctor()
|
|
||||||
{
|
|
||||||
if (!m_proFilePath.isEmpty())
|
|
||||||
//: S60 emulator run configuration default display name, %1 is base pro-File name
|
|
||||||
setDefaultDisplayName(tr("%1 in Symbian Emulator").arg(QFileInfo(m_proFilePath).completeBaseName()));
|
|
||||||
else
|
|
||||||
//: S60 emulator run configuration default display name (no pro-file name)
|
|
||||||
setDefaultDisplayName(tr("Run on Symbian Emulator"));
|
|
||||||
Qt4Project *pro = qt4Target()->qt4Project();
|
|
||||||
connect(pro, SIGNAL(proFileUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool)),
|
|
||||||
this, SLOT(proFileUpdate(Qt4ProjectManager::Qt4ProFileNode*,bool,bool)));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
S60EmulatorRunConfiguration::~S60EmulatorRunConfiguration()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void S60EmulatorRunConfiguration::proFileUpdate(Qt4ProjectManager::Qt4ProFileNode *pro, bool success, bool parseInProgress)
|
|
||||||
{
|
|
||||||
if (m_proFilePath != pro->path())
|
|
||||||
return;
|
|
||||||
bool enabled = isEnabled();
|
|
||||||
m_validParse = success;
|
|
||||||
m_parseInProgress = parseInProgress;
|
|
||||||
if (enabled != isEnabled()) {
|
|
||||||
emit enabledChanged();
|
|
||||||
}
|
|
||||||
if (parseInProgress)
|
|
||||||
emit targetInformationChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
Qt4SymbianTarget *S60EmulatorRunConfiguration::qt4Target() const
|
|
||||||
{
|
|
||||||
return static_cast<Qt4SymbianTarget *>(target());
|
|
||||||
}
|
|
||||||
|
|
||||||
bool S60EmulatorRunConfiguration::isEnabled() const
|
|
||||||
{
|
|
||||||
return m_validParse && !m_parseInProgress;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString S60EmulatorRunConfiguration::disabledReason() const
|
|
||||||
{
|
|
||||||
if (m_parseInProgress)
|
|
||||||
return tr("The .pro file is currently being parsed.");
|
|
||||||
if (!m_validParse)
|
|
||||||
return tr("The .pro file could not be parsed.");
|
|
||||||
return QString();
|
|
||||||
}
|
|
||||||
|
|
||||||
QWidget *S60EmulatorRunConfiguration::createConfigurationWidget()
|
|
||||||
{
|
|
||||||
return new S60EmulatorRunConfigurationWidget(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
Utils::OutputFormatter *S60EmulatorRunConfiguration::createOutputFormatter() const
|
|
||||||
{
|
|
||||||
return new QtSupport::QtOutputFormatter(qt4Target()->qt4Project());
|
|
||||||
}
|
|
||||||
|
|
||||||
QVariantMap S60EmulatorRunConfiguration::toMap() const
|
|
||||||
{
|
|
||||||
QVariantMap map(ProjectExplorer::RunConfiguration::toMap());
|
|
||||||
const QDir projectDir = QDir(target()->project()->projectDirectory());
|
|
||||||
map.insert(QLatin1String(PRO_FILE_KEY), projectDir.relativeFilePath(m_proFilePath));
|
|
||||||
return map;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool S60EmulatorRunConfiguration::fromMap(const QVariantMap &map)
|
|
||||||
{
|
|
||||||
const QDir projectDir = QDir(target()->project()->projectDirectory());
|
|
||||||
m_proFilePath = QDir::cleanPath(projectDir.filePath(map.value(QLatin1String(PRO_FILE_KEY)).toString()));
|
|
||||||
|
|
||||||
if (m_proFilePath.isEmpty())
|
|
||||||
return false;
|
|
||||||
|
|
||||||
m_validParse = qt4Target()->qt4Project()->validParse(m_proFilePath);
|
|
||||||
m_parseInProgress = qt4Target()->qt4Project()->parseInProgress(m_proFilePath);
|
|
||||||
|
|
||||||
//: S60 emulator run configuration default display name, %1 is base pro-File name
|
|
||||||
setDefaultDisplayName(tr("%1 in Symbian Emulator").arg(QFileInfo(m_proFilePath).completeBaseName()));
|
|
||||||
|
|
||||||
return RunConfiguration::fromMap(map);
|
|
||||||
}
|
|
||||||
|
|
||||||
QString S60EmulatorRunConfiguration::executable() const
|
|
||||||
{
|
|
||||||
if (!qt4Target())
|
|
||||||
return QString();
|
|
||||||
Qt4BuildConfiguration *qt4bc = qt4Target()->activeQt4BuildConfiguration();
|
|
||||||
if (!qt4bc)
|
|
||||||
return QString();
|
|
||||||
QtSupport::BaseQtVersion *qtVersion = qt4bc->qtVersion();
|
|
||||||
if (!qtVersion)
|
|
||||||
return QString();
|
|
||||||
QString baseDir = qtVersion->systemRoot();
|
|
||||||
QString qmakeBuildConfig = QLatin1String("urel");
|
|
||||||
if (qt4bc->qmakeBuildConfiguration() & QtSupport::BaseQtVersion::DebugBuild)
|
|
||||||
qmakeBuildConfig = QLatin1String("udeb");
|
|
||||||
baseDir += QLatin1String("/epoc32/release/winscw/") + qmakeBuildConfig;
|
|
||||||
|
|
||||||
TargetInformation ti = qt4Target()->qt4Project()->rootQt4ProjectNode()->targetInformation(m_proFilePath);
|
|
||||||
if (!ti.valid)
|
|
||||||
return QString();
|
|
||||||
QString executable = QDir::toNativeSeparators(QDir::cleanPath(baseDir + QLatin1Char('/') + ti.target));
|
|
||||||
executable += QLatin1String(".exe");
|
|
||||||
|
|
||||||
return executable;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString S60EmulatorRunConfiguration::proFilePath() const
|
|
||||||
{
|
|
||||||
return m_proFilePath;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ======== S60EmulatorRunConfigurationWidget
|
|
||||||
|
|
||||||
S60EmulatorRunConfigurationWidget::S60EmulatorRunConfigurationWidget(S60EmulatorRunConfiguration *runConfiguration,
|
|
||||||
QWidget *parent)
|
|
||||||
: QWidget(parent),
|
|
||||||
m_runConfiguration(runConfiguration),
|
|
||||||
m_detailsWidget(new Utils::DetailsWidget),
|
|
||||||
m_executableLabel(new QLabel(m_runConfiguration->executable()))
|
|
||||||
{
|
|
||||||
m_detailsWidget->setState(Utils::DetailsWidget::NoSummary);
|
|
||||||
QVBoxLayout *mainBoxLayout = new QVBoxLayout();
|
|
||||||
mainBoxLayout->setMargin(0);
|
|
||||||
|
|
||||||
QHBoxLayout *hl = new QHBoxLayout();
|
|
||||||
hl->addStretch();
|
|
||||||
m_disabledIcon = new QLabel(this);
|
|
||||||
m_disabledIcon->setPixmap(QPixmap(QLatin1String(":/projectexplorer/images/compile_warning.png")));
|
|
||||||
hl->addWidget(m_disabledIcon);
|
|
||||||
m_disabledReason = new QLabel(this);
|
|
||||||
m_disabledReason->setVisible(false);
|
|
||||||
hl->addWidget(m_disabledReason);
|
|
||||||
hl->addStretch();
|
|
||||||
mainBoxLayout->addLayout(hl);
|
|
||||||
|
|
||||||
setLayout(mainBoxLayout);
|
|
||||||
mainBoxLayout->addWidget(m_detailsWidget);
|
|
||||||
QWidget *detailsContainer = new QWidget;
|
|
||||||
m_detailsWidget->setWidget(detailsContainer);
|
|
||||||
|
|
||||||
QFormLayout *detailsFormLayout = new QFormLayout();
|
|
||||||
detailsFormLayout->setMargin(0);
|
|
||||||
detailsContainer->setLayout(detailsFormLayout);
|
|
||||||
|
|
||||||
detailsFormLayout->addRow(tr("Executable:"), m_executableLabel);
|
|
||||||
|
|
||||||
connect(m_runConfiguration, SIGNAL(targetInformationChanged()),
|
|
||||||
this, SLOT(updateTargetInformation()));
|
|
||||||
|
|
||||||
connect(m_runConfiguration, SIGNAL(enabledChanged()),
|
|
||||||
this, SLOT(runConfigurationEnabledChange()));
|
|
||||||
|
|
||||||
runConfigurationEnabledChange();
|
|
||||||
}
|
|
||||||
|
|
||||||
void S60EmulatorRunConfigurationWidget::updateTargetInformation()
|
|
||||||
{
|
|
||||||
m_executableLabel->setText(m_runConfiguration->executable());
|
|
||||||
}
|
|
||||||
|
|
||||||
void S60EmulatorRunConfigurationWidget::runConfigurationEnabledChange()
|
|
||||||
{
|
|
||||||
bool enabled = m_runConfiguration->isEnabled();
|
|
||||||
m_detailsWidget->setEnabled(enabled);
|
|
||||||
m_disabledIcon->setVisible(!enabled);
|
|
||||||
m_disabledReason->setVisible(!enabled);
|
|
||||||
m_disabledReason->setText(m_runConfiguration->disabledReason());
|
|
||||||
}
|
|
||||||
|
|
||||||
// ======== S60EmulatorRunConfigurationFactory
|
|
||||||
|
|
||||||
S60EmulatorRunConfigurationFactory::S60EmulatorRunConfigurationFactory(QObject *parent)
|
|
||||||
: IRunConfigurationFactory(parent)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
S60EmulatorRunConfigurationFactory::~S60EmulatorRunConfigurationFactory()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
bool S60EmulatorRunConfigurationFactory::canCreate(Target *parent, const QString &id) const
|
|
||||||
{
|
|
||||||
Qt4SymbianTarget *t = qobject_cast<Qt4SymbianTarget *>(parent);
|
|
||||||
if (!t ||
|
|
||||||
t->id() != QLatin1String(Constants::S60_EMULATOR_TARGET_ID))
|
|
||||||
return false;
|
|
||||||
return t->qt4Project()->hasApplicationProFile(pathFromId(id));
|
|
||||||
}
|
|
||||||
|
|
||||||
RunConfiguration *S60EmulatorRunConfigurationFactory::create(Target *parent, const QString &id)
|
|
||||||
{
|
|
||||||
if (!canCreate(parent, id))
|
|
||||||
return 0;
|
|
||||||
Qt4SymbianTarget *t = static_cast<Qt4SymbianTarget *>(parent);
|
|
||||||
return new S60EmulatorRunConfiguration(t, pathFromId(id));
|
|
||||||
}
|
|
||||||
|
|
||||||
bool S60EmulatorRunConfigurationFactory::canRestore(Target *parent, const QVariantMap &map) const
|
|
||||||
{
|
|
||||||
Qt4SymbianTarget *t = qobject_cast<Qt4SymbianTarget *>(parent);
|
|
||||||
if (!t ||
|
|
||||||
t->id() != QLatin1String(Constants::S60_EMULATOR_TARGET_ID))
|
|
||||||
return false;
|
|
||||||
QString id(ProjectExplorer::idFromMap(map));
|
|
||||||
return id == QLatin1String(S60_EMULATOR_RC_ID);
|
|
||||||
}
|
|
||||||
|
|
||||||
RunConfiguration *S60EmulatorRunConfigurationFactory::restore(Target *parent, const QVariantMap &map)
|
|
||||||
{
|
|
||||||
if (!canRestore(parent, map))
|
|
||||||
return 0;
|
|
||||||
Qt4SymbianTarget *t = static_cast<Qt4SymbianTarget *>(parent);
|
|
||||||
S60EmulatorRunConfiguration *rc = new S60EmulatorRunConfiguration(t, QString());
|
|
||||||
if (rc->fromMap(map))
|
|
||||||
return rc;
|
|
||||||
delete rc;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool S60EmulatorRunConfigurationFactory::canClone(Target *parent, RunConfiguration *source) const
|
|
||||||
{
|
|
||||||
return canCreate(parent, source->id());
|
|
||||||
}
|
|
||||||
|
|
||||||
RunConfiguration *S60EmulatorRunConfigurationFactory::clone(Target *parent, RunConfiguration *source)
|
|
||||||
{
|
|
||||||
if (!canClone(parent, source))
|
|
||||||
return 0;
|
|
||||||
Qt4SymbianTarget *t = static_cast<Qt4SymbianTarget *>(parent);
|
|
||||||
return new S60EmulatorRunConfiguration(t, QString());
|
|
||||||
}
|
|
||||||
|
|
||||||
QStringList S60EmulatorRunConfigurationFactory::availableCreationIds(Target *parent) const
|
|
||||||
{
|
|
||||||
Qt4SymbianTarget *t = qobject_cast<Qt4SymbianTarget *>(parent);
|
|
||||||
if (!t ||
|
|
||||||
t->id() != QLatin1String(Constants::S60_EMULATOR_TARGET_ID))
|
|
||||||
return QStringList();
|
|
||||||
|
|
||||||
return t->qt4Project()->applicationProFilePathes(QLatin1String(S60_EMULATOR_RC_PREFIX));
|
|
||||||
}
|
|
||||||
|
|
||||||
QString S60EmulatorRunConfigurationFactory::displayNameForId(const QString &id) const
|
|
||||||
{
|
|
||||||
if (!pathFromId(id).isEmpty())
|
|
||||||
return tr("%1 in Symbian Emulator").arg(QFileInfo(pathFromId(id)).completeBaseName());
|
|
||||||
return QString();
|
|
||||||
}
|
|
||||||
|
|
||||||
// ======== S60EmulatorRunControl
|
|
||||||
|
|
||||||
S60EmulatorRunControl::S60EmulatorRunControl(S60EmulatorRunConfiguration *runConfiguration, RunMode mode)
|
|
||||||
: RunControl(runConfiguration, mode)
|
|
||||||
{
|
|
||||||
// FIXME: This should be configurable!
|
|
||||||
Utils::Environment env = runConfiguration->qt4Target()->activeBuildConfiguration()->environment();
|
|
||||||
m_applicationLauncher.setEnvironment(env);
|
|
||||||
|
|
||||||
m_executable = runConfiguration->executable();
|
|
||||||
connect(&m_applicationLauncher, SIGNAL(applicationError(QString)),
|
|
||||||
this, SLOT(slotError(QString)));
|
|
||||||
connect(&m_applicationLauncher, SIGNAL(appendMessage(QString,Utils::OutputFormat)),
|
|
||||||
this, SLOT(slotAppendMessage(QString,Utils::OutputFormat)));
|
|
||||||
connect(&m_applicationLauncher, SIGNAL(processExited(int)),
|
|
||||||
this, SLOT(processExited(int)));
|
|
||||||
connect(&m_applicationLauncher, SIGNAL(bringToForegroundRequested(quint64)),
|
|
||||||
this, SLOT(bringApplicationToForeground(quint64)));
|
|
||||||
}
|
|
||||||
|
|
||||||
void S60EmulatorRunControl::start()
|
|
||||||
{
|
|
||||||
m_applicationLauncher.start(ApplicationLauncher::Gui, m_executable, QString());
|
|
||||||
setApplicationProcessHandle(ProcessHandle(m_applicationLauncher.applicationPID()));
|
|
||||||
emit started();
|
|
||||||
|
|
||||||
QString msg = tr("Starting %1...\n").arg(QDir::toNativeSeparators(m_executable));
|
|
||||||
appendMessage(msg, Utils::NormalMessageFormat);
|
|
||||||
}
|
|
||||||
|
|
||||||
RunControl::StopResult S60EmulatorRunControl::stop()
|
|
||||||
{
|
|
||||||
m_applicationLauncher.stop();
|
|
||||||
return StoppedSynchronously;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool S60EmulatorRunControl::isRunning() const
|
|
||||||
{
|
|
||||||
return m_applicationLauncher.isRunning();
|
|
||||||
}
|
|
||||||
|
|
||||||
QIcon S60EmulatorRunControl::icon() const
|
|
||||||
{
|
|
||||||
return QIcon(QLatin1String(ProjectExplorer::Constants::ICON_RUN_SMALL));
|
|
||||||
}
|
|
||||||
|
|
||||||
void S60EmulatorRunControl::slotError(const QString & err)
|
|
||||||
{
|
|
||||||
appendMessage(err, Utils::ErrorMessageFormat);
|
|
||||||
emit finished();
|
|
||||||
}
|
|
||||||
|
|
||||||
void S60EmulatorRunControl::slotAppendMessage(const QString &line, Utils::OutputFormat format)
|
|
||||||
{
|
|
||||||
static QString prefix = tr("[Qt Message]");
|
|
||||||
static int prefixLength = prefix.length();
|
|
||||||
int index = line.indexOf(prefix);
|
|
||||||
if (index != -1)
|
|
||||||
appendMessage(line.mid(index + prefixLength + 1), format);
|
|
||||||
}
|
|
||||||
|
|
||||||
void S60EmulatorRunControl::processExited(int exitCode)
|
|
||||||
{
|
|
||||||
QString msg = tr("%1 exited with code %2\n");
|
|
||||||
appendMessage(msg, exitCode ? Utils::ErrorMessageFormat : Utils::NormalMessageFormat);
|
|
||||||
emit finished();
|
|
||||||
}
|
|
||||||
@@ -1,165 +0,0 @@
|
|||||||
/**************************************************************************
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator
|
|
||||||
**
|
|
||||||
** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
|
|
||||||
**
|
|
||||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
|
||||||
**
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
**
|
|
||||||
** This file may be used under the terms of the GNU Lesser General Public
|
|
||||||
** License version 2.1 as published by the Free Software Foundation and
|
|
||||||
** appearing in the file LICENSE.LGPL included in the packaging of this file.
|
|
||||||
** Please review the following information to ensure the GNU Lesser General
|
|
||||||
** Public License version 2.1 requirements will be met:
|
|
||||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
**
|
|
||||||
** In addition, as a special exception, Nokia gives you certain additional
|
|
||||||
** rights. These rights are described in the Nokia Qt LGPL Exception
|
|
||||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
** Other Usage
|
|
||||||
**
|
|
||||||
** Alternatively, this file may be used in accordance with the terms and
|
|
||||||
** conditions contained in a signed written agreement between you and Nokia.
|
|
||||||
**
|
|
||||||
** If you have questions regarding the use of this file, please contact
|
|
||||||
** Nokia at qt-info@nokia.com.
|
|
||||||
**
|
|
||||||
**************************************************************************/
|
|
||||||
|
|
||||||
#ifndef S60EMULATORRUNCONFIGURATION_H
|
|
||||||
#define S60EMULATORRUNCONFIGURATION_H
|
|
||||||
|
|
||||||
#include <projectexplorer/runconfiguration.h>
|
|
||||||
#include <projectexplorer/applicationlauncher.h>
|
|
||||||
|
|
||||||
#include <QVariantMap>
|
|
||||||
#include <QWidget>
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
class QLabel;
|
|
||||||
class QLineEdit;
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
namespace Utils {
|
|
||||||
class DetailsWidget;
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace Qt4ProjectManager {
|
|
||||||
class Qt4Project;
|
|
||||||
class Qt4BaseTarget;
|
|
||||||
class Qt4ProFileNode;
|
|
||||||
|
|
||||||
namespace Internal {
|
|
||||||
class Qt4SymbianTarget;
|
|
||||||
class S60EmulatorRunConfigurationFactory;
|
|
||||||
|
|
||||||
class S60EmulatorRunConfiguration : public ProjectExplorer::RunConfiguration
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
friend class S60EmulatorRunConfigurationFactory;
|
|
||||||
|
|
||||||
public:
|
|
||||||
S60EmulatorRunConfiguration(Qt4ProjectManager::Qt4BaseTarget *parent, const QString &proFilePath);
|
|
||||||
virtual ~S60EmulatorRunConfiguration();
|
|
||||||
|
|
||||||
Qt4SymbianTarget *qt4Target() const;
|
|
||||||
|
|
||||||
bool isEnabled() const;
|
|
||||||
QString disabledReason() const;
|
|
||||||
QWidget *createConfigurationWidget();
|
|
||||||
|
|
||||||
Utils::OutputFormatter *createOutputFormatter() const;
|
|
||||||
|
|
||||||
QString executable() const;
|
|
||||||
|
|
||||||
QVariantMap toMap() const;
|
|
||||||
|
|
||||||
QString proFilePath() const;
|
|
||||||
|
|
||||||
signals:
|
|
||||||
void targetInformationChanged();
|
|
||||||
|
|
||||||
private slots:
|
|
||||||
void proFileUpdate(Qt4ProjectManager::Qt4ProFileNode *pro, bool success, bool parseInProgress);
|
|
||||||
|
|
||||||
protected:
|
|
||||||
S60EmulatorRunConfiguration(Qt4ProjectManager::Qt4BaseTarget *parent, S60EmulatorRunConfiguration *source);
|
|
||||||
virtual bool fromMap(const QVariantMap &map);
|
|
||||||
|
|
||||||
private:
|
|
||||||
void ctor();
|
|
||||||
void updateTarget();
|
|
||||||
|
|
||||||
QString m_proFilePath;
|
|
||||||
bool m_validParse;
|
|
||||||
bool m_parseInProgress;
|
|
||||||
};
|
|
||||||
|
|
||||||
class S60EmulatorRunConfigurationWidget : public QWidget
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
public:
|
|
||||||
explicit S60EmulatorRunConfigurationWidget(S60EmulatorRunConfiguration *runConfiguration,
|
|
||||||
QWidget *parent = 0);
|
|
||||||
|
|
||||||
private slots:
|
|
||||||
void updateTargetInformation();
|
|
||||||
void runConfigurationEnabledChange();
|
|
||||||
|
|
||||||
private:
|
|
||||||
S60EmulatorRunConfiguration *m_runConfiguration;
|
|
||||||
QLabel *m_disabledIcon;
|
|
||||||
QLabel *m_disabledReason;
|
|
||||||
Utils::DetailsWidget *m_detailsWidget;
|
|
||||||
QLabel *m_executableLabel;
|
|
||||||
};
|
|
||||||
|
|
||||||
class S60EmulatorRunConfigurationFactory : public ProjectExplorer::IRunConfigurationFactory
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
public:
|
|
||||||
explicit S60EmulatorRunConfigurationFactory(QObject *parent = 0);
|
|
||||||
~S60EmulatorRunConfigurationFactory();
|
|
||||||
|
|
||||||
bool canCreate(ProjectExplorer::Target *project, const QString &id) const;
|
|
||||||
ProjectExplorer::RunConfiguration *create(ProjectExplorer::Target *parent, const QString &id);
|
|
||||||
bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const;
|
|
||||||
ProjectExplorer::RunConfiguration *restore(ProjectExplorer::Target *parent, const QVariantMap &map);
|
|
||||||
bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) const;
|
|
||||||
ProjectExplorer::RunConfiguration *clone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source);
|
|
||||||
|
|
||||||
QStringList availableCreationIds(ProjectExplorer::Target *pro) const;
|
|
||||||
// used to translate the ids to names to display to the user
|
|
||||||
QString displayNameForId(const QString &id) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
class S60EmulatorRunControl : public ProjectExplorer::RunControl
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
public:
|
|
||||||
S60EmulatorRunControl(S60EmulatorRunConfiguration *runConfiguration,
|
|
||||||
ProjectExplorer::RunMode mode);
|
|
||||||
~S60EmulatorRunControl() {}
|
|
||||||
void start();
|
|
||||||
virtual StopResult stop();
|
|
||||||
bool isRunning() const;
|
|
||||||
QIcon icon() const;
|
|
||||||
|
|
||||||
private slots:
|
|
||||||
void processExited(int exitCode);
|
|
||||||
void slotAppendMessage(const QString &line, Utils::OutputFormat);
|
|
||||||
void slotError(const QString & error);
|
|
||||||
|
|
||||||
private:
|
|
||||||
ProjectExplorer::ApplicationLauncher m_applicationLauncher;
|
|
||||||
QString m_executable;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace Internal
|
|
||||||
} // namespace Qt4ProjectManager
|
|
||||||
|
|
||||||
#endif // S60EMULATORRUNCONFIGURATION_H
|
|
||||||
@@ -34,7 +34,6 @@
|
|||||||
//#include "qtversionmanager.h"
|
//#include "qtversionmanager.h"
|
||||||
|
|
||||||
//#include "s60devicespreferencepane.h"
|
//#include "s60devicespreferencepane.h"
|
||||||
#include "s60emulatorrunconfiguration.h"
|
|
||||||
#include "s60devicerunconfiguration.h"
|
#include "s60devicerunconfiguration.h"
|
||||||
#include "s60createpackagestep.h"
|
#include "s60createpackagestep.h"
|
||||||
#include "s60deployconfiguration.h"
|
#include "s60deployconfiguration.h"
|
||||||
@@ -49,7 +48,6 @@
|
|||||||
|
|
||||||
#include "gccetoolchain.h"
|
#include "gccetoolchain.h"
|
||||||
#include "rvcttoolchain.h"
|
#include "rvcttoolchain.h"
|
||||||
#include "winscwtoolchain.h"
|
|
||||||
#include "symbianqtversionfactory.h"
|
#include "symbianqtversionfactory.h"
|
||||||
|
|
||||||
#include <symbianutils/symbiandevicemanager.h>
|
#include <symbianutils/symbiandevicemanager.h>
|
||||||
@@ -116,11 +114,7 @@ S60Manager::S60Manager(QObject *parent) : QObject(parent)
|
|||||||
|
|
||||||
addAutoReleasedObject(new GcceToolChainFactory);
|
addAutoReleasedObject(new GcceToolChainFactory);
|
||||||
addAutoReleasedObject(new RvctToolChainFactory);
|
addAutoReleasedObject(new RvctToolChainFactory);
|
||||||
addAutoReleasedObject(new WinscwToolChainFactory);
|
|
||||||
|
|
||||||
addAutoReleasedObject(new S60EmulatorRunConfigurationFactory);
|
|
||||||
addAutoReleasedObject(new RunControlFactory<S60EmulatorRunControl, S60EmulatorRunConfiguration>
|
|
||||||
(ProjectExplorer::NormalRunMode, tr("Run in Emulator"), parent));
|
|
||||||
addAutoReleasedObject(new S60DeviceRunConfigurationFactory);
|
addAutoReleasedObject(new S60DeviceRunConfigurationFactory);
|
||||||
addAutoReleasedObject(new S60RunControlFactory(ProjectExplorer::NormalRunMode,
|
addAutoReleasedObject(new S60RunControlFactory(ProjectExplorer::NormalRunMode,
|
||||||
tr("Run on Device"), parent));
|
tr("Run on Device"), parent));
|
||||||
|
|||||||
@@ -117,27 +117,10 @@ bool SymbianQtVersion::toolChainAvailable(const QString &id) const
|
|||||||
{
|
{
|
||||||
if (!isValid())
|
if (!isValid())
|
||||||
return false;
|
return false;
|
||||||
if (id == QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) {
|
if (id == QLatin1String(Constants::S60_DEVICE_TARGET_ID)) {
|
||||||
#ifndef Q_OS_WIN
|
|
||||||
return false;
|
|
||||||
#endif
|
|
||||||
if (!QFileInfo(systemRoot() + QLatin1String("/Epoc32/release/winscw/udeb/epoc.exe")).exists())
|
|
||||||
return false;
|
|
||||||
QList<ProjectExplorer::ToolChain *> tcList =
|
QList<ProjectExplorer::ToolChain *> tcList =
|
||||||
ProjectExplorer::ToolChainManager::instance()->toolChains();
|
ProjectExplorer::ToolChainManager::instance()->toolChains();
|
||||||
foreach (ProjectExplorer::ToolChain *tc, tcList) {
|
return !tcList.isEmpty();
|
||||||
if (tc->id().startsWith(QLatin1String(Constants::WINSCW_TOOLCHAIN_ID)))
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
} else if (id == QLatin1String(Constants::S60_DEVICE_TARGET_ID)) {
|
|
||||||
QList<ProjectExplorer::ToolChain *> tcList =
|
|
||||||
ProjectExplorer::ToolChainManager::instance()->toolChains();
|
|
||||||
foreach (ProjectExplorer::ToolChain *tc, tcList) {
|
|
||||||
if (!tc->id().startsWith(QLatin1String(Qt4ProjectManager::Constants::WINSCW_TOOLCHAIN_ID)))
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -179,8 +162,7 @@ bool SymbianQtVersion::supportsTargetId(const QString &id) const
|
|||||||
|
|
||||||
QSet<QString> SymbianQtVersion::supportedTargetIds() const
|
QSet<QString> SymbianQtVersion::supportedTargetIds() const
|
||||||
{
|
{
|
||||||
return QSet<QString>() << QLatin1String(Constants::S60_DEVICE_TARGET_ID)
|
return QSet<QString>() << QLatin1String(Constants::S60_DEVICE_TARGET_ID);
|
||||||
<< QLatin1String(Constants::S60_EMULATOR_TARGET_ID);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QString SymbianQtVersion::description() const
|
QString SymbianQtVersion::description() const
|
||||||
|
|||||||
@@ -1,87 +0,0 @@
|
|||||||
/**************************************************************************
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator
|
|
||||||
**
|
|
||||||
** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
|
|
||||||
**
|
|
||||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
|
||||||
**
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
**
|
|
||||||
** This file may be used under the terms of the GNU Lesser General Public
|
|
||||||
** License version 2.1 as published by the Free Software Foundation and
|
|
||||||
** appearing in the file LICENSE.LGPL included in the packaging of this file.
|
|
||||||
** Please review the following information to ensure the GNU Lesser General
|
|
||||||
** Public License version 2.1 requirements will be met:
|
|
||||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
**
|
|
||||||
** In addition, as a special exception, Nokia gives you certain additional
|
|
||||||
** rights. These rights are described in the Nokia Qt LGPL Exception
|
|
||||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
** Other Usage
|
|
||||||
**
|
|
||||||
** Alternatively, this file may be used in accordance with the terms and
|
|
||||||
** conditions contained in a signed written agreement between you and Nokia.
|
|
||||||
**
|
|
||||||
** If you have questions regarding the use of this file, please contact
|
|
||||||
** Nokia at qt-info@nokia.com.
|
|
||||||
**
|
|
||||||
**************************************************************************/
|
|
||||||
|
|
||||||
#include "winscwparser.h"
|
|
||||||
|
|
||||||
#include <projectexplorer/projectexplorerconstants.h>
|
|
||||||
#include <projectexplorer/task.h>
|
|
||||||
|
|
||||||
using namespace Qt4ProjectManager;
|
|
||||||
using namespace ProjectExplorer;
|
|
||||||
using namespace ProjectExplorer::Constants;
|
|
||||||
|
|
||||||
WinscwParser::WinscwParser()
|
|
||||||
{
|
|
||||||
setObjectName(QLatin1String("WinscwParser"));
|
|
||||||
// linker problems:
|
|
||||||
m_linkerProblem.setPattern(QLatin1String("^(\\S*)\\(\\S+\\):\\s(.+)$"));
|
|
||||||
m_linkerProblem.setMinimal(true);
|
|
||||||
|
|
||||||
// WINSCW issue:
|
|
||||||
m_compilerProblem.setPattern(QLatin1String("^([^\\(\\)]+[^\\d]):(\\d+):\\s(.+)$"));
|
|
||||||
m_compilerProblem.setMinimal(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
void WinscwParser::stdOutput(const QString &line)
|
|
||||||
{
|
|
||||||
QString lne = line.trimmed();
|
|
||||||
|
|
||||||
if (m_compilerProblem.indexIn(lne) > -1) {
|
|
||||||
Task task(Task::Error,
|
|
||||||
m_compilerProblem.cap(3) /* description */,
|
|
||||||
Utils::FileName::fromUserInput(m_compilerProblem.cap(1)) /* filename */,
|
|
||||||
m_compilerProblem.cap(2).toInt() /* linenumber */,
|
|
||||||
Core::Id(TASK_CATEGORY_COMPILE));
|
|
||||||
if (task.description.startsWith(QLatin1String("warning: "))) {
|
|
||||||
task.type = Task::Warning;
|
|
||||||
task.description = task.description.mid(9);
|
|
||||||
}
|
|
||||||
emit addTask(task);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
IOutputParser::stdOutput(line);
|
|
||||||
}
|
|
||||||
|
|
||||||
void WinscwParser::stdError(const QString &line)
|
|
||||||
{
|
|
||||||
QString lne = line.trimmed();
|
|
||||||
|
|
||||||
if (m_linkerProblem.indexIn(lne) > -1) {
|
|
||||||
emit addTask(Task(Task::Error,
|
|
||||||
m_linkerProblem.cap(2) /* description */,
|
|
||||||
Utils::FileName::fromUserInput(m_linkerProblem.cap(1)) /* filename */,
|
|
||||||
-1 /* linenumber */,
|
|
||||||
Core::Id(TASK_CATEGORY_COMPILE)));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
IOutputParser::stdError(line);
|
|
||||||
}
|
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
/**************************************************************************
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator
|
|
||||||
**
|
|
||||||
** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
|
|
||||||
**
|
|
||||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
|
||||||
**
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
**
|
|
||||||
** This file may be used under the terms of the GNU Lesser General Public
|
|
||||||
** License version 2.1 as published by the Free Software Foundation and
|
|
||||||
** appearing in the file LICENSE.LGPL included in the packaging of this file.
|
|
||||||
** Please review the following information to ensure the GNU Lesser General
|
|
||||||
** Public License version 2.1 requirements will be met:
|
|
||||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
**
|
|
||||||
** In addition, as a special exception, Nokia gives you certain additional
|
|
||||||
** rights. These rights are described in the Nokia Qt LGPL Exception
|
|
||||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
** Other Usage
|
|
||||||
**
|
|
||||||
** Alternatively, this file may be used in accordance with the terms and
|
|
||||||
** conditions contained in a signed written agreement between you and Nokia.
|
|
||||||
**
|
|
||||||
** If you have questions regarding the use of this file, please contact
|
|
||||||
** Nokia at qt-info@nokia.com.
|
|
||||||
**
|
|
||||||
**************************************************************************/
|
|
||||||
|
|
||||||
#ifndef WINSCWPARSER_H
|
|
||||||
#define WINSCWPARSER_H
|
|
||||||
|
|
||||||
#include <projectexplorer/ioutputparser.h>
|
|
||||||
|
|
||||||
#include <QRegExp>
|
|
||||||
|
|
||||||
namespace Qt4ProjectManager {
|
|
||||||
|
|
||||||
class WinscwParser : public ProjectExplorer::IOutputParser
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
WinscwParser();
|
|
||||||
|
|
||||||
virtual void stdOutput(const QString &line);
|
|
||||||
virtual void stdError(const QString &line);
|
|
||||||
|
|
||||||
private:
|
|
||||||
QRegExp m_compilerProblem;
|
|
||||||
QRegExp m_linkerProblem;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace Qt4ProjectManager
|
|
||||||
|
|
||||||
#endif // WINSCWPARSER_H
|
|
||||||
@@ -1,449 +0,0 @@
|
|||||||
/**************************************************************************
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator
|
|
||||||
**
|
|
||||||
** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
|
|
||||||
**
|
|
||||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
|
||||||
**
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
**
|
|
||||||
** This file may be used under the terms of the GNU Lesser General Public
|
|
||||||
** License version 2.1 as published by the Free Software Foundation and
|
|
||||||
** appearing in the file LICENSE.LGPL included in the packaging of this file.
|
|
||||||
** Please review the following information to ensure the GNU Lesser General
|
|
||||||
** Public License version 2.1 requirements will be met:
|
|
||||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
**
|
|
||||||
** In addition, as a special exception, Nokia gives you certain additional
|
|
||||||
** rights. These rights are described in the Nokia Qt LGPL Exception
|
|
||||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
** Other Usage
|
|
||||||
**
|
|
||||||
** Alternatively, this file may be used in accordance with the terms and
|
|
||||||
** conditions contained in a signed written agreement between you and Nokia.
|
|
||||||
**
|
|
||||||
** If you have questions regarding the use of this file, please contact
|
|
||||||
** Nokia at qt-info@nokia.com.
|
|
||||||
**
|
|
||||||
**************************************************************************/
|
|
||||||
|
|
||||||
#include "winscwtoolchain.h"
|
|
||||||
|
|
||||||
#include "qt4projectmanager/qt4projectmanagerconstants.h"
|
|
||||||
|
|
||||||
#include "ui_winscwtoolchainconfigwidget.h"
|
|
||||||
#include "winscwparser.h"
|
|
||||||
|
|
||||||
#include <projectexplorer/abi.h>
|
|
||||||
#include <projectexplorer/headerpath.h>
|
|
||||||
#include <utils/environment.h>
|
|
||||||
#include <qtsupport/qtversionmanager.h>
|
|
||||||
|
|
||||||
#include <QDir>
|
|
||||||
#include <QFileInfo>
|
|
||||||
#include <QStringList>
|
|
||||||
|
|
||||||
namespace Qt4ProjectManager {
|
|
||||||
namespace Internal {
|
|
||||||
|
|
||||||
static const char winscwCompilerPathKeyC[] = "Qt4ProjectManager.Winscw.CompilerPath";
|
|
||||||
static const char winscwSystemIncludePathKeyC[] = "Qt4ProjectManager.Winscw.IncludePath";
|
|
||||||
static const char winscwSystemLibraryPathKeyC[] = "Qt4ProjectManager.Winscw.LibraryPath";
|
|
||||||
|
|
||||||
static const char *const WINSCW_DEFAULT_SYSTEM_INCLUDES[] = {
|
|
||||||
"/MSL/MSL_C/MSL_Common/Include",
|
|
||||||
"/MSL/MSL_C/MSL_Win32/Include",
|
|
||||||
"/MSL/MSL_CMSL_X86",
|
|
||||||
"/MSL/MSL_C++/MSL_Common/Include",
|
|
||||||
"/MSL/MSL_Extras/MSL_Common/Include",
|
|
||||||
"/MSL/MSL_Extras/MSL_Win32/Include",
|
|
||||||
"/Win32-x86 Support/Headers/Win32 SDK",
|
|
||||||
0
|
|
||||||
};
|
|
||||||
|
|
||||||
static const char *const WINSCW_DEFAULT_SYSTEM_LIBRARIES[] = {
|
|
||||||
"/Win32-x86 Support/Libraries/Win32 SDK",
|
|
||||||
"/Runtime/Runtime_x86/Runtime_Win32/Libs",
|
|
||||||
0
|
|
||||||
};
|
|
||||||
|
|
||||||
static Utils::FileName winscwRoot(const Utils::FileName &pathIn)
|
|
||||||
{
|
|
||||||
Utils::FileName path = pathIn;
|
|
||||||
if (path.isEmpty())
|
|
||||||
return Utils::FileName();
|
|
||||||
|
|
||||||
path = path.parentDir();
|
|
||||||
path = path.parentDir();
|
|
||||||
path = path.parentDir();
|
|
||||||
path.appendPath(QLatin1String("Symbian_Support"));
|
|
||||||
return path;
|
|
||||||
}
|
|
||||||
|
|
||||||
static QString toNativePath(const QStringList &list)
|
|
||||||
{
|
|
||||||
return QDir::toNativeSeparators(list.join(QString(QLatin1Char(';'))));
|
|
||||||
}
|
|
||||||
|
|
||||||
static QStringList fromNativePath(const QString &list)
|
|
||||||
{
|
|
||||||
return QDir::fromNativeSeparators(list).split(QLatin1Char(';'));
|
|
||||||
}
|
|
||||||
|
|
||||||
static QStringList detectIncludesFor(const Utils::FileName &path)
|
|
||||||
{
|
|
||||||
Utils::FileName root = winscwRoot(path);
|
|
||||||
QStringList result;
|
|
||||||
for (int i = 0; WINSCW_DEFAULT_SYSTEM_INCLUDES[i] != 0; ++i) {
|
|
||||||
QDir dir(root.toString() + QLatin1String(WINSCW_DEFAULT_SYSTEM_INCLUDES[i]));
|
|
||||||
if (dir.exists())
|
|
||||||
result.append(dir.absolutePath());
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
static QStringList detectLibrariesFor(const Utils::FileName &path)
|
|
||||||
{
|
|
||||||
Utils::FileName root = winscwRoot(path);
|
|
||||||
QStringList result;
|
|
||||||
for (int i = 0; WINSCW_DEFAULT_SYSTEM_LIBRARIES[i] != 0; ++i) {
|
|
||||||
QDir dir(root.toString() + QLatin1String(WINSCW_DEFAULT_SYSTEM_LIBRARIES[i]));
|
|
||||||
if (dir.exists())
|
|
||||||
result.append(dir.absolutePath());
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
// --------------------------------------------------------------------------
|
|
||||||
// WinscwToolChain
|
|
||||||
// --------------------------------------------------------------------------
|
|
||||||
|
|
||||||
WinscwToolChain::WinscwToolChain(bool autodetected) :
|
|
||||||
ProjectExplorer::ToolChain(QLatin1String(Constants::WINSCW_TOOLCHAIN_ID), autodetected)
|
|
||||||
{ }
|
|
||||||
|
|
||||||
WinscwToolChain::WinscwToolChain(const WinscwToolChain &tc) :
|
|
||||||
ProjectExplorer::ToolChain(tc),
|
|
||||||
m_systemIncludePathes(tc.m_systemIncludePathes),
|
|
||||||
m_systemLibraryPathes(tc.m_systemLibraryPathes),
|
|
||||||
m_compilerPath(tc.m_compilerPath)
|
|
||||||
{ }
|
|
||||||
|
|
||||||
WinscwToolChain::~WinscwToolChain()
|
|
||||||
{ }
|
|
||||||
|
|
||||||
QString WinscwToolChain::type() const
|
|
||||||
{
|
|
||||||
return QLatin1String("winscw");
|
|
||||||
}
|
|
||||||
|
|
||||||
QString WinscwToolChain::typeDisplayName() const
|
|
||||||
{
|
|
||||||
return WinscwToolChainFactory::tr("WINSCW");
|
|
||||||
}
|
|
||||||
|
|
||||||
ProjectExplorer::Abi WinscwToolChain::targetAbi() const
|
|
||||||
{
|
|
||||||
return ProjectExplorer::Abi(ProjectExplorer::Abi::ArmArchitecture, ProjectExplorer::Abi::SymbianOS,
|
|
||||||
ProjectExplorer::Abi::SymbianEmulatorFlavor,
|
|
||||||
ProjectExplorer::Abi::ElfFormat, 32);
|
|
||||||
}
|
|
||||||
|
|
||||||
QString WinscwToolChain::legacyId() const
|
|
||||||
{
|
|
||||||
return QLatin1String(Constants::WINSCW_TOOLCHAIN_ID) + QLatin1Char(':') + m_compilerPath.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool WinscwToolChain::isValid() const
|
|
||||||
{
|
|
||||||
if (m_compilerPath.isEmpty())
|
|
||||||
return false;
|
|
||||||
|
|
||||||
QFileInfo fi(m_compilerPath.toFileInfo());
|
|
||||||
return fi.exists() && fi.isExecutable();
|
|
||||||
}
|
|
||||||
|
|
||||||
QByteArray WinscwToolChain::predefinedMacros(const QStringList &cxxflags) const
|
|
||||||
{
|
|
||||||
Q_UNUSED(cxxflags);
|
|
||||||
return QByteArray("#define __SYMBIAN32__\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
ProjectExplorer::ToolChain::CompilerFlags WinscwToolChain::compilerFlags(const QStringList &cxxflags) const
|
|
||||||
{
|
|
||||||
Q_UNUSED(cxxflags);
|
|
||||||
return NO_FLAGS;
|
|
||||||
}
|
|
||||||
|
|
||||||
QList<ProjectExplorer::HeaderPath> WinscwToolChain::systemHeaderPaths() const
|
|
||||||
{
|
|
||||||
QList<ProjectExplorer::HeaderPath> result;
|
|
||||||
foreach (const QString &value, m_systemIncludePathes)
|
|
||||||
result.append(ProjectExplorer::HeaderPath(value, ProjectExplorer::HeaderPath::GlobalHeaderPath));
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
void WinscwToolChain::addToEnvironment(Utils::Environment &env) const
|
|
||||||
{
|
|
||||||
if (!isValid())
|
|
||||||
return;
|
|
||||||
|
|
||||||
env.set(QLatin1String("MWCSYM2INCLUDES"), toNativePath(m_systemIncludePathes));
|
|
||||||
env.set(QLatin1String("MWSYM2LIBRARIES"), toNativePath(m_systemLibraryPathes));
|
|
||||||
env.set(QLatin1String("MWSYM2LIBRARYFILES"),
|
|
||||||
QLatin1String("MSL_All_MSE_Symbian_D.lib;gdi32.lib;user32.lib;kernel32.lib"));
|
|
||||||
env.prependOrSetPath(m_compilerPath.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
QString WinscwToolChain::makeCommand() const
|
|
||||||
{
|
|
||||||
#if defined Q_OS_WIN
|
|
||||||
return QLatin1String("make.exe");
|
|
||||||
#else
|
|
||||||
return QLatin1String("make");
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
Utils::FileName WinscwToolChain::debuggerCommand() const
|
|
||||||
{
|
|
||||||
return Utils::FileName();
|
|
||||||
}
|
|
||||||
|
|
||||||
QString WinscwToolChain::defaultMakeTarget() const
|
|
||||||
{
|
|
||||||
return QLatin1String("winscw");
|
|
||||||
}
|
|
||||||
|
|
||||||
ProjectExplorer::IOutputParser *WinscwToolChain::outputParser() const
|
|
||||||
{
|
|
||||||
return new WinscwParser;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool WinscwToolChain::operator ==(const ProjectExplorer::ToolChain &tc) const
|
|
||||||
{
|
|
||||||
if (!ToolChain::operator ==(tc))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
const WinscwToolChain *tcPtr = dynamic_cast<const WinscwToolChain *>(&tc);
|
|
||||||
Q_ASSERT(tcPtr);
|
|
||||||
return m_compilerPath == tcPtr->m_compilerPath
|
|
||||||
&& m_systemIncludePathes == tcPtr->m_systemIncludePathes
|
|
||||||
&& m_systemLibraryPathes == tcPtr->m_systemLibraryPathes;
|
|
||||||
}
|
|
||||||
|
|
||||||
ProjectExplorer::ToolChainConfigWidget *WinscwToolChain::configurationWidget()
|
|
||||||
{
|
|
||||||
return new WinscwToolChainConfigWidget(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
ProjectExplorer::ToolChain *WinscwToolChain::clone() const
|
|
||||||
{
|
|
||||||
return new WinscwToolChain(*this);
|
|
||||||
}
|
|
||||||
|
|
||||||
QVariantMap WinscwToolChain::toMap() const
|
|
||||||
{
|
|
||||||
QVariantMap result = ToolChain::toMap();
|
|
||||||
result.insert(QLatin1String(winscwCompilerPathKeyC), m_compilerPath.toString());
|
|
||||||
const QString semicolon = QString(QLatin1Char(';'));
|
|
||||||
result.insert(QLatin1String(winscwSystemIncludePathKeyC), m_systemIncludePathes.join(semicolon));
|
|
||||||
result.insert(QLatin1String(winscwSystemLibraryPathKeyC), m_systemLibraryPathes.join(semicolon));
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool WinscwToolChain::fromMap(const QVariantMap &data)
|
|
||||||
{
|
|
||||||
if (!ToolChain::fromMap(data))
|
|
||||||
return false;
|
|
||||||
m_compilerPath = Utils::FileName::fromString(data.value(QLatin1String(winscwCompilerPathKeyC)).toString());
|
|
||||||
const QChar semicolon = QLatin1Char(';');
|
|
||||||
m_systemIncludePathes = data.value(QLatin1String(winscwSystemIncludePathKeyC)).toString().split(semicolon);
|
|
||||||
m_systemLibraryPathes = data.value(QLatin1String(winscwSystemLibraryPathKeyC)).toString().split(semicolon);
|
|
||||||
return isValid();
|
|
||||||
}
|
|
||||||
|
|
||||||
void WinscwToolChain::setSystemIncludePathes(const QStringList &pathes)
|
|
||||||
{
|
|
||||||
if (m_systemIncludePathes == pathes)
|
|
||||||
return;
|
|
||||||
m_systemIncludePathes = pathes;
|
|
||||||
toolChainUpdated();
|
|
||||||
}
|
|
||||||
|
|
||||||
QStringList WinscwToolChain::systemIncludePathes() const
|
|
||||||
{
|
|
||||||
return m_systemIncludePathes;
|
|
||||||
}
|
|
||||||
|
|
||||||
void WinscwToolChain::setSystemLibraryPathes(const QStringList &pathes)
|
|
||||||
{
|
|
||||||
if (m_systemLibraryPathes == pathes)
|
|
||||||
return;
|
|
||||||
m_systemLibraryPathes = pathes;
|
|
||||||
toolChainUpdated();
|
|
||||||
}
|
|
||||||
|
|
||||||
QStringList WinscwToolChain::systemLibraryPathes() const
|
|
||||||
{
|
|
||||||
return m_systemLibraryPathes;
|
|
||||||
}
|
|
||||||
|
|
||||||
void WinscwToolChain::setCompilerCommand(const Utils::FileName &path)
|
|
||||||
{
|
|
||||||
if (m_compilerPath == path)
|
|
||||||
return;
|
|
||||||
|
|
||||||
m_compilerPath = path;
|
|
||||||
toolChainUpdated();
|
|
||||||
}
|
|
||||||
|
|
||||||
Utils::FileName WinscwToolChain::compilerCommand() const
|
|
||||||
{
|
|
||||||
return m_compilerPath;
|
|
||||||
}
|
|
||||||
|
|
||||||
// --------------------------------------------------------------------------
|
|
||||||
// ToolChainConfigWidget
|
|
||||||
// --------------------------------------------------------------------------
|
|
||||||
|
|
||||||
WinscwToolChainConfigWidget::WinscwToolChainConfigWidget(WinscwToolChain *tc) :
|
|
||||||
ProjectExplorer::ToolChainConfigWidget(tc),
|
|
||||||
m_ui(new Ui::WinscwToolChainConfigWidget)
|
|
||||||
{
|
|
||||||
m_ui->setupUi(this);
|
|
||||||
|
|
||||||
m_ui->compilerPath->setExpectedKind(Utils::PathChooser::ExistingCommand);
|
|
||||||
connect(m_ui->compilerPath, SIGNAL(changed(QString)),
|
|
||||||
this, SLOT(handleCompilerPathUpdate()));
|
|
||||||
connect(m_ui->includeEdit, SIGNAL(textChanged(QString)), this, SLOT(makeDirty()));
|
|
||||||
connect(m_ui->libraryEdit, SIGNAL(textChanged(QString)), this, SLOT(makeDirty()));
|
|
||||||
|
|
||||||
discard();
|
|
||||||
}
|
|
||||||
|
|
||||||
WinscwToolChainConfigWidget::~WinscwToolChainConfigWidget()
|
|
||||||
{
|
|
||||||
delete m_ui;
|
|
||||||
}
|
|
||||||
|
|
||||||
void WinscwToolChainConfigWidget::apply()
|
|
||||||
{
|
|
||||||
WinscwToolChain *tc = static_cast<WinscwToolChain *>(toolChain());
|
|
||||||
Q_ASSERT(tc);
|
|
||||||
tc->setCompilerCommand(m_ui->compilerPath->fileName());
|
|
||||||
tc->setSystemIncludePathes(fromNativePath(m_ui->includeEdit->text()));
|
|
||||||
tc->setSystemLibraryPathes(fromNativePath(m_ui->libraryEdit->text()));
|
|
||||||
}
|
|
||||||
|
|
||||||
void WinscwToolChainConfigWidget::discard()
|
|
||||||
{
|
|
||||||
WinscwToolChain *tc = static_cast<WinscwToolChain *>(toolChain());
|
|
||||||
Q_ASSERT(tc);
|
|
||||||
m_ui->compilerPath->setFileName(tc->compilerCommand());
|
|
||||||
m_ui->includeEdit->setText(toNativePath(tc->systemIncludePathes()));
|
|
||||||
m_ui->libraryEdit->setText(toNativePath(tc->systemLibraryPathes()));
|
|
||||||
}
|
|
||||||
|
|
||||||
bool WinscwToolChainConfigWidget::isDirty() const
|
|
||||||
{
|
|
||||||
WinscwToolChain *tc = static_cast<WinscwToolChain *>(toolChain());
|
|
||||||
Q_ASSERT(tc);
|
|
||||||
return tc->compilerCommand() != m_ui->compilerPath->fileName()
|
|
||||||
|| tc->systemIncludePathes() != fromNativePath(m_ui->includeEdit->text())
|
|
||||||
|| tc->systemLibraryPathes() != fromNativePath(m_ui->libraryEdit->text());
|
|
||||||
}
|
|
||||||
|
|
||||||
void WinscwToolChainConfigWidget::handleCompilerPathUpdate()
|
|
||||||
{
|
|
||||||
Utils::FileName path = m_ui->compilerPath->fileName();
|
|
||||||
if (path.isEmpty())
|
|
||||||
return;
|
|
||||||
if (!path.toFileInfo().exists())
|
|
||||||
return;
|
|
||||||
m_ui->includeEdit->setText(toNativePath(detectIncludesFor(path)));
|
|
||||||
m_ui->libraryEdit->setText(toNativePath(detectLibrariesFor(path)));
|
|
||||||
}
|
|
||||||
|
|
||||||
void WinscwToolChainConfigWidget::makeDirty()
|
|
||||||
{
|
|
||||||
emit dirty();
|
|
||||||
}
|
|
||||||
|
|
||||||
// --------------------------------------------------------------------------
|
|
||||||
// ToolChainFactory
|
|
||||||
// --------------------------------------------------------------------------
|
|
||||||
|
|
||||||
WinscwToolChainFactory::WinscwToolChainFactory() :
|
|
||||||
ProjectExplorer::ToolChainFactory()
|
|
||||||
{ }
|
|
||||||
|
|
||||||
QString WinscwToolChainFactory::displayName() const
|
|
||||||
{
|
|
||||||
return tr("WINSCW");
|
|
||||||
}
|
|
||||||
|
|
||||||
QString WinscwToolChainFactory::id() const
|
|
||||||
{
|
|
||||||
return QLatin1String(Constants::WINSCW_TOOLCHAIN_ID);
|
|
||||||
}
|
|
||||||
|
|
||||||
QList<ProjectExplorer::ToolChain *> WinscwToolChainFactory::autoDetect()
|
|
||||||
{
|
|
||||||
QList<ProjectExplorer::ToolChain *> result;
|
|
||||||
|
|
||||||
// Compatibility to pre-2.2:
|
|
||||||
while (true) {
|
|
||||||
const QString path = QtSupport::QtVersionManager::instance()->popPendingMwcUpdate();
|
|
||||||
if (path.isNull())
|
|
||||||
break;
|
|
||||||
|
|
||||||
QFileInfo fi(path + QLatin1String("/x86Build/Symbian_Tools/Command_Line_Tools/mwwinrc.exe"));
|
|
||||||
if (fi.exists() && fi.isExecutable()) {
|
|
||||||
WinscwToolChain *tc = new WinscwToolChain(false);
|
|
||||||
tc->setCompilerCommand(Utils::FileName(fi));
|
|
||||||
tc->setDisplayName(tr("WINSCW from Qt version"));
|
|
||||||
result.append(tc);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Utils::FileName cc = Utils::FileName::fromString(Utils::Environment::systemEnvironment().searchInPath(QLatin1String("mwwinrc")));
|
|
||||||
if (!cc.isEmpty()) {
|
|
||||||
WinscwToolChain *tc = new WinscwToolChain(true);
|
|
||||||
tc->setCompilerCommand(cc);
|
|
||||||
tc->setSystemIncludePathes(detectIncludesFor(cc));
|
|
||||||
tc->setSystemLibraryPathes(detectLibrariesFor(cc));
|
|
||||||
result.append(tc);
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool WinscwToolChainFactory::canCreate()
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
ProjectExplorer::ToolChain *WinscwToolChainFactory::create()
|
|
||||||
{
|
|
||||||
return new WinscwToolChain(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool WinscwToolChainFactory::canRestore(const QVariantMap &data)
|
|
||||||
{
|
|
||||||
return idFromMap(data).startsWith(QLatin1String(Constants::WINSCW_TOOLCHAIN_ID));
|
|
||||||
}
|
|
||||||
|
|
||||||
ProjectExplorer::ToolChain *WinscwToolChainFactory::restore(const QVariantMap &data)
|
|
||||||
{
|
|
||||||
WinscwToolChain *tc = new WinscwToolChain(false);
|
|
||||||
if (tc->fromMap(data))
|
|
||||||
return tc;
|
|
||||||
|
|
||||||
delete tc;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace Internal
|
|
||||||
} // namespace Qt4ProjectManager
|
|
||||||
@@ -1,149 +0,0 @@
|
|||||||
/**************************************************************************
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator
|
|
||||||
**
|
|
||||||
** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
|
|
||||||
**
|
|
||||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
|
||||||
**
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
**
|
|
||||||
** This file may be used under the terms of the GNU Lesser General Public
|
|
||||||
** License version 2.1 as published by the Free Software Foundation and
|
|
||||||
** appearing in the file LICENSE.LGPL included in the packaging of this file.
|
|
||||||
** Please review the following information to ensure the GNU Lesser General
|
|
||||||
** Public License version 2.1 requirements will be met:
|
|
||||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
**
|
|
||||||
** In addition, as a special exception, Nokia gives you certain additional
|
|
||||||
** rights. These rights are described in the Nokia Qt LGPL Exception
|
|
||||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
** Other Usage
|
|
||||||
**
|
|
||||||
** Alternatively, this file may be used in accordance with the terms and
|
|
||||||
** conditions contained in a signed written agreement between you and Nokia.
|
|
||||||
**
|
|
||||||
** If you have questions regarding the use of this file, please contact
|
|
||||||
** Nokia at qt-info@nokia.com.
|
|
||||||
**
|
|
||||||
**************************************************************************/
|
|
||||||
|
|
||||||
#ifndef WINSCWTOOLCHAIN_H
|
|
||||||
#define WINSCWTOOLCHAIN_H
|
|
||||||
|
|
||||||
#include <projectexplorer/toolchain.h>
|
|
||||||
#include <projectexplorer/toolchainconfigwidget.h>
|
|
||||||
|
|
||||||
namespace Qt4ProjectManager {
|
|
||||||
namespace Internal {
|
|
||||||
namespace Ui {
|
|
||||||
class WinscwToolChainConfigWidget;
|
|
||||||
} // namespace Ui
|
|
||||||
|
|
||||||
// --------------------------------------------------------------------------
|
|
||||||
// WinscwToolChain
|
|
||||||
// --------------------------------------------------------------------------
|
|
||||||
|
|
||||||
class WinscwToolChain : public ProjectExplorer::ToolChain
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
WinscwToolChain(const WinscwToolChain &);
|
|
||||||
~WinscwToolChain();
|
|
||||||
|
|
||||||
QString type() const;
|
|
||||||
QString typeDisplayName() const;
|
|
||||||
ProjectExplorer::Abi targetAbi() const;
|
|
||||||
QString legacyId() const;
|
|
||||||
|
|
||||||
bool isValid() const;
|
|
||||||
|
|
||||||
QByteArray predefinedMacros(const QStringList &list) const;
|
|
||||||
ProjectExplorer::ToolChain::CompilerFlags compilerFlags(const QStringList &cxxflags) const;
|
|
||||||
QList<ProjectExplorer::HeaderPath> systemHeaderPaths() const;
|
|
||||||
void addToEnvironment(Utils::Environment &env) const;
|
|
||||||
QString makeCommand() const;
|
|
||||||
Utils::FileName compilerCommand() const;
|
|
||||||
Utils::FileName debuggerCommand() const;
|
|
||||||
QString defaultMakeTarget() const;
|
|
||||||
ProjectExplorer::IOutputParser *outputParser() const;
|
|
||||||
|
|
||||||
bool operator ==(const ProjectExplorer::ToolChain &) const;
|
|
||||||
|
|
||||||
ProjectExplorer::ToolChainConfigWidget *configurationWidget();
|
|
||||||
ProjectExplorer::ToolChain *clone() const;
|
|
||||||
|
|
||||||
QVariantMap toMap() const;
|
|
||||||
bool fromMap(const QVariantMap &data);
|
|
||||||
|
|
||||||
void setSystemIncludePathes(const QStringList &);
|
|
||||||
QStringList systemIncludePathes() const;
|
|
||||||
|
|
||||||
void setSystemLibraryPathes(const QStringList &);
|
|
||||||
QStringList systemLibraryPathes() const;
|
|
||||||
|
|
||||||
void setCompilerCommand(const Utils::FileName &);
|
|
||||||
|
|
||||||
private:
|
|
||||||
explicit WinscwToolChain(bool);
|
|
||||||
|
|
||||||
QStringList m_systemIncludePathes;
|
|
||||||
QStringList m_systemLibraryPathes;
|
|
||||||
Utils::FileName m_compilerPath;
|
|
||||||
|
|
||||||
friend class WinscwToolChainFactory;
|
|
||||||
};
|
|
||||||
|
|
||||||
// --------------------------------------------------------------------------
|
|
||||||
// WinscwToolChainConfigWidget
|
|
||||||
// --------------------------------------------------------------------------
|
|
||||||
|
|
||||||
class WinscwToolChainConfigWidget : public ProjectExplorer::ToolChainConfigWidget
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
WinscwToolChainConfigWidget(WinscwToolChain *);
|
|
||||||
~WinscwToolChainConfigWidget();
|
|
||||||
|
|
||||||
void apply();
|
|
||||||
void discard();
|
|
||||||
bool isDirty() const;
|
|
||||||
|
|
||||||
private slots:
|
|
||||||
void handleCompilerPathUpdate();
|
|
||||||
void makeDirty();
|
|
||||||
|
|
||||||
private:
|
|
||||||
Ui::WinscwToolChainConfigWidget *m_ui;
|
|
||||||
};
|
|
||||||
|
|
||||||
// --------------------------------------------------------------------------
|
|
||||||
// WinscwToolChainFactory
|
|
||||||
// --------------------------------------------------------------------------
|
|
||||||
|
|
||||||
class WinscwToolChainFactory : public ProjectExplorer::ToolChainFactory
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
WinscwToolChainFactory();
|
|
||||||
|
|
||||||
QString displayName() const;
|
|
||||||
QString id() const;
|
|
||||||
|
|
||||||
QList<ProjectExplorer::ToolChain *> autoDetect();
|
|
||||||
|
|
||||||
bool canCreate();
|
|
||||||
ProjectExplorer::ToolChain *create();
|
|
||||||
|
|
||||||
// Used by the ToolChainManager to restore user-generated tool chains
|
|
||||||
bool canRestore(const QVariantMap &data);
|
|
||||||
ProjectExplorer::ToolChain *restore(const QVariantMap &data);
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace Internal
|
|
||||||
} // namespace Qt4ProjectManager
|
|
||||||
|
|
||||||
#endif // WINSCWTOOLCHAIN_H
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>Qt4ProjectManager::Internal::WinscwToolChainConfigWidget</class>
|
|
||||||
<widget class="QWidget" name="Qt4ProjectManager::Internal::WinscwToolChainConfigWidget">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>428</width>
|
|
||||||
<height>95</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>Dialog</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="text">
|
|
||||||
<string>Compiler path:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="Utils::PathChooser" name="compilerPath"/>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="label_2">
|
|
||||||
<property name="text">
|
|
||||||
<string>System include path:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="QLineEdit" name="includeEdit"/>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QLabel" name="label_3">
|
|
||||||
<property name="text">
|
|
||||||
<string>System library path:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
|
||||||
<widget class="QLineEdit" name="libraryEdit"/>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<customwidgets>
|
|
||||||
<customwidget>
|
|
||||||
<class>Utils::PathChooser</class>
|
|
||||||
<extends>QLineEdit</extends>
|
|
||||||
<header>utils/pathchooser.h</header>
|
|
||||||
</customwidget>
|
|
||||||
</customwidgets>
|
|
||||||
<resources/>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
||||||
@@ -762,18 +762,16 @@ BuildConfiguration *Qt4BuildConfigurationFactory::create(ProjectExplorer::Target
|
|||||||
(version->defaultBuildConfig() | QtSupport::BaseQtVersion::DebugBuild),
|
(version->defaultBuildConfig() | QtSupport::BaseQtVersion::DebugBuild),
|
||||||
QString(), QString(), false);
|
QString(), QString(), false);
|
||||||
|
|
||||||
if (qt4Target->id() != QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) {
|
//: Release build configuration. We recommend not translating it.
|
||||||
//: Release build configuration. We recommend not translating it.
|
QString defaultReleaseName = tr("%1 Release").arg(version->displayName());
|
||||||
QString defaultReleaseName = tr("%1 Release").arg(version->displayName());
|
QString customReleaseName;
|
||||||
QString customReleaseName;
|
if (buildConfigurationName != version->displayName())
|
||||||
if (buildConfigurationName != version->displayName())
|
customReleaseName = tr("%1 Release").arg(buildConfigurationName);
|
||||||
customReleaseName = tr("%1 Release").arg(buildConfigurationName);
|
|
||||||
|
|
||||||
bc = qt4Target->addQt4BuildConfiguration(defaultReleaseName, customReleaseName,
|
bc = qt4Target->addQt4BuildConfiguration(defaultReleaseName, customReleaseName,
|
||||||
version,
|
version,
|
||||||
(version->defaultBuildConfig() & ~QtSupport::BaseQtVersion::DebugBuild),
|
(version->defaultBuildConfig() & ~QtSupport::BaseQtVersion::DebugBuild),
|
||||||
QString(), QString(), false);
|
QString(), QString(), false);
|
||||||
}
|
|
||||||
return bc;
|
return bc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -147,7 +147,6 @@ QtcPlugin {
|
|||||||
"qt-desktop/simulatorqtversionfactory.cpp",
|
"qt-desktop/simulatorqtversionfactory.cpp",
|
||||||
"qt-desktop/simulatorqtversionfactory.h",
|
"qt-desktop/simulatorqtversionfactory.h",
|
||||||
"qt-s60/rvcttoolchainconfigwidget.ui",
|
"qt-s60/rvcttoolchainconfigwidget.ui",
|
||||||
"qt-s60/winscwtoolchainconfigwidget.ui",
|
|
||||||
"qt-s60/abldparser.cpp",
|
"qt-s60/abldparser.cpp",
|
||||||
"qt-s60/abldparser.h",
|
"qt-s60/abldparser.h",
|
||||||
"qt-s60/certificatepathchooser.cpp",
|
"qt-s60/certificatepathchooser.cpp",
|
||||||
@@ -206,18 +205,12 @@ QtcPlugin {
|
|||||||
"qt-s60/symbianqtversion.h",
|
"qt-s60/symbianqtversion.h",
|
||||||
"qt-s60/symbianqtversionfactory.cpp",
|
"qt-s60/symbianqtversionfactory.cpp",
|
||||||
"qt-s60/symbianqtversionfactory.h",
|
"qt-s60/symbianqtversionfactory.h",
|
||||||
"qt-s60/winscwparser.cpp",
|
|
||||||
"qt-s60/winscwparser.h",
|
|
||||||
"qt-s60/winscwtoolchain.cpp",
|
|
||||||
"qt-s60/winscwtoolchain.h",
|
|
||||||
"qt-s60/codaruncontrol.cpp",
|
"qt-s60/codaruncontrol.cpp",
|
||||||
"qt-s60/codaruncontrol.h",
|
"qt-s60/codaruncontrol.h",
|
||||||
"qt-s60/s60deploystep.cpp",
|
"qt-s60/s60deploystep.cpp",
|
||||||
"qt-s60/s60deploystep.h",
|
"qt-s60/s60deploystep.h",
|
||||||
"qt-s60/s60devicedebugruncontrol.cpp",
|
"qt-s60/s60devicedebugruncontrol.cpp",
|
||||||
"qt-s60/s60devicedebugruncontrol.h",
|
"qt-s60/s60devicedebugruncontrol.h",
|
||||||
"qt-s60/s60emulatorrunconfiguration.cpp",
|
|
||||||
"qt-s60/s60emulatorrunconfiguration.h",
|
|
||||||
"qt-s60/s60manager.cpp",
|
"qt-s60/s60manager.cpp",
|
||||||
"qt-s60/s60runcontrolbase.cpp",
|
"qt-s60/s60runcontrolbase.cpp",
|
||||||
"qt-s60/s60runcontrolbase.h",
|
"qt-s60/s60runcontrolbase.h",
|
||||||
|
|||||||
@@ -76,7 +76,6 @@ const char QT4PROJECT_ID[] = "Qt4ProjectManager.Qt4Project";
|
|||||||
|
|
||||||
// Targets
|
// Targets
|
||||||
const char DESKTOP_TARGET_ID[] = "Qt4ProjectManager.Target.DesktopTarget";
|
const char DESKTOP_TARGET_ID[] = "Qt4ProjectManager.Target.DesktopTarget";
|
||||||
const char S60_EMULATOR_TARGET_ID[] = "Qt4ProjectManager.Target.S60EmulatorTarget";
|
|
||||||
const char S60_DEVICE_TARGET_ID[] = "Qt4ProjectManager.Target.S60DeviceTarget";
|
const char S60_DEVICE_TARGET_ID[] = "Qt4ProjectManager.Target.S60DeviceTarget";
|
||||||
const char MAEMO5_DEVICE_TARGET_ID[] = "Qt4ProjectManager.Target.MaemoDeviceTarget";
|
const char MAEMO5_DEVICE_TARGET_ID[] = "Qt4ProjectManager.Target.MaemoDeviceTarget";
|
||||||
const char HARMATTAN_DEVICE_TARGET_ID[] = "Qt4ProjectManager.Target.HarmattanDeviceTarget";
|
const char HARMATTAN_DEVICE_TARGET_ID[] = "Qt4ProjectManager.Target.HarmattanDeviceTarget";
|
||||||
@@ -92,7 +91,6 @@ const char SHADOWBUILD_TARGETFEATURE_ID[] = "Qt4ProjectManager.TargetFeature.Sha
|
|||||||
const char GCCE_TOOLCHAIN_ID[] = "Qt4ProjectManager.ToolChain.GCCE";
|
const char GCCE_TOOLCHAIN_ID[] = "Qt4ProjectManager.ToolChain.GCCE";
|
||||||
const char MAEMO_TOOLCHAIN_ID[] = "Qt4ProjectManager.ToolChain.Maemo";
|
const char MAEMO_TOOLCHAIN_ID[] = "Qt4ProjectManager.ToolChain.Maemo";
|
||||||
const char RVCT_TOOLCHAIN_ID[] = "Qt4ProjectManager.ToolChain.RVCT";
|
const char RVCT_TOOLCHAIN_ID[] = "Qt4ProjectManager.ToolChain.RVCT";
|
||||||
const char WINSCW_TOOLCHAIN_ID[] = "Qt4ProjectManager.ToolChain.WINSCW";
|
|
||||||
|
|
||||||
// ICONS
|
// ICONS
|
||||||
const char ICON_QT_PROJECT[] = ":/qt4projectmanager/images/qt_project.png";
|
const char ICON_QT_PROJECT[] = ":/qt4projectmanager/images/qt_project.png";
|
||||||
|
|||||||
@@ -204,8 +204,7 @@ Utils::WizardProgressItem *AbstractMobileAppWizardDialog::itemOfNextGenericPage(
|
|||||||
|
|
||||||
bool AbstractMobileAppWizardDialog::isSymbianTargetSelected() const
|
bool AbstractMobileAppWizardDialog::isSymbianTargetSelected() const
|
||||||
{
|
{
|
||||||
return m_targetsPage->isTargetSelected(QLatin1String(Constants::S60_EMULATOR_TARGET_ID))
|
return m_targetsPage->isTargetSelected(QLatin1String(Constants::S60_DEVICE_TARGET_ID));
|
||||||
|| m_targetsPage->isTargetSelected(QLatin1String(Constants::S60_DEVICE_TARGET_ID));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AbstractMobileAppWizardDialog::isFremantleTargetSelected() const
|
bool AbstractMobileAppWizardDialog::isFremantleTargetSelected() const
|
||||||
|
|||||||
@@ -120,8 +120,7 @@ GuiAppParameters GuiAppWizardDialog::parameters() const
|
|||||||
|| isTargetSelected(QLatin1String(Constants::MEEGO_DEVICE_TARGET_ID))) {
|
|| isTargetSelected(QLatin1String(Constants::MEEGO_DEVICE_TARGET_ID))) {
|
||||||
rc.widgetWidth = 800;
|
rc.widgetWidth = 800;
|
||||||
rc.widgetHeight = 480;
|
rc.widgetHeight = 480;
|
||||||
} else if (isTargetSelected(QLatin1String(Constants::S60_DEVICE_TARGET_ID)) ||
|
} else if (isTargetSelected(QLatin1String(Constants::S60_DEVICE_TARGET_ID))) {
|
||||||
isTargetSelected(QLatin1String(Constants::S60_EMULATOR_TARGET_ID))) {
|
|
||||||
rc.widgetWidth = 360;
|
rc.widgetWidth = 360;
|
||||||
rc.widgetHeight = 640;
|
rc.widgetHeight = 640;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -235,8 +235,7 @@ int LibraryWizardDialog::nextId() const
|
|||||||
|
|
||||||
int next = m_modulesPageId;
|
int next = m_modulesPageId;
|
||||||
|
|
||||||
const bool symbianTargetEnabled = isTargetSelected(QLatin1String(Constants::S60_DEVICE_TARGET_ID))
|
const bool symbianTargetEnabled = isTargetSelected(QLatin1String(Constants::S60_DEVICE_TARGET_ID));
|
||||||
|| isTargetSelected(QLatin1String(Constants::S60_EMULATOR_TARGET_ID));
|
|
||||||
|
|
||||||
// If there was no Symbian target defined we omit "Symbian specific" step
|
// If there was no Symbian target defined we omit "Symbian specific" step
|
||||||
// We also omit this step if the library type is not dll
|
// We also omit this step if the library type is not dll
|
||||||
|
|||||||
Reference in New Issue
Block a user