summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/android/androidtoolchain.cpp8
-rw-r--r--src/plugins/android/androidtoolchain.h2
-rw-r--r--src/plugins/projectexplorer/abstractmsvctoolchain.cpp8
-rw-r--r--src/plugins/projectexplorer/abstractmsvctoolchain.h4
-rw-r--r--src/plugins/projectexplorer/customtoolchain.cpp12
-rw-r--r--src/plugins/projectexplorer/customtoolchain.h4
-rw-r--r--src/plugins/projectexplorer/gcctoolchain.cpp36
-rw-r--r--src/plugins/projectexplorer/gcctoolchain.h10
-rw-r--r--src/plugins/projectexplorer/msvctoolchain.cpp28
-rw-r--r--src/plugins/projectexplorer/msvctoolchain.h2
-rw-r--r--src/plugins/projectexplorer/toolchain.cpp27
-rw-r--r--src/plugins/projectexplorer/toolchain.h14
-rw-r--r--src/plugins/projectexplorer/toolchainmanager.cpp6
-rw-r--r--src/plugins/projectexplorer/toolchainoptionspage.cpp2
-rw-r--r--src/plugins/projectexplorer/wincetoolchain.cpp8
-rw-r--r--src/plugins/projectexplorer/wincetoolchain.h2
-rw-r--r--src/plugins/qnx/blackberryconfiguration.cpp2
17 files changed, 94 insertions, 81 deletions
diff --git a/src/plugins/android/androidtoolchain.cpp b/src/plugins/android/androidtoolchain.cpp
index c0f2d86338..ca927d10d8 100644
--- a/src/plugins/android/androidtoolchain.cpp
+++ b/src/plugins/android/androidtoolchain.cpp
@@ -66,8 +66,8 @@ static const char ANDROID_NDK_TC_VERION[] = "Qt4ProjectManager.Android.NDK_TC_VE
QMap<ProjectExplorer::Abi::Architecture, QList<int> > AndroidToolChainFactory::m_newestVersionForArch;
Utils::FileName AndroidToolChainFactory::m_ndkLocation;
-AndroidToolChain::AndroidToolChain(Abi::Architecture arch, const QString &ndkToolChainVersion, bool autodetected)
- : GccToolChain(QLatin1String(Constants::ANDROID_TOOLCHAIN_ID), autodetected),
+AndroidToolChain::AndroidToolChain(Abi::Architecture arch, const QString &ndkToolChainVersion, Detection d)
+ : GccToolChain(QLatin1String(Constants::ANDROID_TOOLCHAIN_ID), d),
m_ndkToolChainVersion(ndkToolChainVersion), m_secondaryToolChain(false)
{
ProjectExplorer::Abi abi = ProjectExplorer::Abi(arch, ProjectExplorer::Abi::LinuxOS,
@@ -81,7 +81,7 @@ AndroidToolChain::AndroidToolChain(Abi::Architecture arch, const QString &ndkToo
// for fromMap
AndroidToolChain::AndroidToolChain()
- : GccToolChain(QLatin1String(Constants::ANDROID_TOOLCHAIN_ID), false),
+ : GccToolChain(QLatin1String(Constants::ANDROID_TOOLCHAIN_ID), ToolChain::ManualDetection),
m_secondaryToolChain(false)
{
}
@@ -383,7 +383,7 @@ QList<ToolChain *> AndroidToolChainFactory::createToolChainsForNdk(const Utils::
Abi::Architecture arch = AndroidConfigurations::architectureForToolChainPrefix(platform);
if (arch == Abi::UnknownArchitecture) // e.g. mipsel which is not yet supported
continue;
- AndroidToolChain *tc = new AndroidToolChain(arch, version, true);
+ AndroidToolChain *tc = new AndroidToolChain(arch, version, ToolChain::AutoDetection);
FileName compilerPath = AndroidConfigurations::instance().gccPath(arch, version);
tc->setCompilerCommand(compilerPath);
result.append(tc);
diff --git a/src/plugins/android/androidtoolchain.h b/src/plugins/android/androidtoolchain.h
index 7999686460..0f60da4372 100644
--- a/src/plugins/android/androidtoolchain.h
+++ b/src/plugins/android/androidtoolchain.h
@@ -68,7 +68,7 @@ protected:
QList<ProjectExplorer::Abi> detectSupportedAbis() const;
private:
- AndroidToolChain(ProjectExplorer::Abi::Architecture arch, const QString &ndkToolChainVersion, bool autodetected);
+ explicit AndroidToolChain(ProjectExplorer::Abi::Architecture arch, const QString &ndkToolChainVersion, Detection d);
AndroidToolChain();
AndroidToolChain(const AndroidToolChain &);
diff --git a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp
index 9ebc21b409..b6d8da5cd0 100644
--- a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp
+++ b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp
@@ -47,10 +47,10 @@ namespace Internal {
AbstractMsvcToolChain::AbstractMsvcToolChain(const QString &id,
- bool autodetect,
+ Detection d,
const Abi &abi,
const QString& vcvarsBat) :
- ToolChain(id, autodetect),
+ ToolChain(id, d),
m_lastEnvironment(Utils::Environment::systemEnvironment()),
m_abi(abi),
m_vcvarsBat(vcvarsBat)
@@ -61,8 +61,8 @@ AbstractMsvcToolChain::AbstractMsvcToolChain(const QString &id,
Q_ASSERT(!m_vcvarsBat.isEmpty());
}
-AbstractMsvcToolChain::AbstractMsvcToolChain(const QString &id, bool autodetect) :
- ToolChain(id, autodetect),
+AbstractMsvcToolChain::AbstractMsvcToolChain(const QString &id, Detection d) :
+ ToolChain(id, d),
m_lastEnvironment(Utils::Environment::systemEnvironment())
{
diff --git a/src/plugins/projectexplorer/abstractmsvctoolchain.h b/src/plugins/projectexplorer/abstractmsvctoolchain.h
index bcf405e417..13ec2dbb78 100644
--- a/src/plugins/projectexplorer/abstractmsvctoolchain.h
+++ b/src/plugins/projectexplorer/abstractmsvctoolchain.h
@@ -43,8 +43,8 @@ namespace Internal {
class PROJECTEXPLORER_EXPORT AbstractMsvcToolChain : public ToolChain
{
public:
- AbstractMsvcToolChain(const QString &id, bool autodetect, const Abi &abi, const QString& vcvarsBat);
- AbstractMsvcToolChain(const QString &id, bool autodetect);
+ explicit AbstractMsvcToolChain(const QString &id, Detection d, const Abi &abi, const QString& vcvarsBat);
+ explicit AbstractMsvcToolChain(const QString &id, Detection d);
Abi targetAbi() const;
diff --git a/src/plugins/projectexplorer/customtoolchain.cpp b/src/plugins/projectexplorer/customtoolchain.cpp
index 2c9a06412d..29a0f5d815 100644
--- a/src/plugins/projectexplorer/customtoolchain.cpp
+++ b/src/plugins/projectexplorer/customtoolchain.cpp
@@ -76,13 +76,13 @@ static const char messageCapKeyC[] = "ProjectExplorer.CustomToolChain.MessageCap
// CustomToolChain
// --------------------------------------------------------------------------
-CustomToolChain::CustomToolChain(bool autodetect) :
- ToolChain(QLatin1String(Constants::CUSTOM_TOOLCHAIN_ID), autodetect),
+CustomToolChain::CustomToolChain(Detection d) :
+ ToolChain(QLatin1String(Constants::CUSTOM_TOOLCHAIN_ID), d),
m_outputParser(Gcc)
{ }
-CustomToolChain::CustomToolChain(const QString &id, bool autodetect) :
- ToolChain(id, autodetect)
+CustomToolChain::CustomToolChain(const QString &id, Detection d) :
+ ToolChain(id, d)
{ }
CustomToolChain::CustomToolChain(const CustomToolChain &tc) :
@@ -416,7 +416,7 @@ bool CustomToolChainFactory::canRestore(const QVariantMap &data)
ToolChain *CustomToolChainFactory::restore(const QVariantMap &data)
{
- CustomToolChain *tc = new CustomToolChain(false);
+ CustomToolChain *tc = new CustomToolChain(ToolChain::ManualDetection);
if (tc->fromMap(data))
return tc;
@@ -426,7 +426,7 @@ ToolChain *CustomToolChainFactory::restore(const QVariantMap &data)
CustomToolChain *CustomToolChainFactory::createToolChain(bool autoDetect)
{
- return new CustomToolChain(autoDetect);
+ return new CustomToolChain(autoDetect ? ToolChain::AutoDetection : ToolChain::ManualDetection);
}
// --------------------------------------------------------------------------
diff --git a/src/plugins/projectexplorer/customtoolchain.h b/src/plugins/projectexplorer/customtoolchain.h
index 2b0408dea2..a344f605a9 100644
--- a/src/plugins/projectexplorer/customtoolchain.h
+++ b/src/plugins/projectexplorer/customtoolchain.h
@@ -122,11 +122,11 @@ public:
static QString parserName(OutputParser parser);
protected:
- CustomToolChain(const QString &id, bool autodetect);
+ explicit CustomToolChain(const QString &id, Detection d);
CustomToolChain(const CustomToolChain &);
private:
- CustomToolChain(bool autodetect);
+ explicit CustomToolChain(Detection d);
Utils::FileName m_compilerCommand;
Utils::FileName m_makeCommand;
diff --git a/src/plugins/projectexplorer/gcctoolchain.cpp b/src/plugins/projectexplorer/gcctoolchain.cpp
index 4621250a15..dd03cb48d5 100644
--- a/src/plugins/projectexplorer/gcctoolchain.cpp
+++ b/src/plugins/projectexplorer/gcctoolchain.cpp
@@ -281,12 +281,12 @@ static QString gccVersion(const FileName &path, const QStringList &env)
// GccToolChain
// --------------------------------------------------------------------------
-GccToolChain::GccToolChain(bool autodetect) :
- ToolChain(QLatin1String(Constants::GCC_TOOLCHAIN_ID), autodetect)
+GccToolChain::GccToolChain(Detection d) :
+ ToolChain(QLatin1String(Constants::GCC_TOOLCHAIN_ID), d)
{ }
-GccToolChain::GccToolChain(const QString &id, bool autodetect) :
- ToolChain(id, autodetect)
+GccToolChain::GccToolChain(const QString &id, Detection d) :
+ ToolChain(id, d)
{ }
GccToolChain::GccToolChain(const GccToolChain &tc) :
@@ -754,7 +754,7 @@ bool GccToolChainFactory::canRestore(const QVariantMap &data)
ToolChain *GccToolChainFactory::restore(const QVariantMap &data)
{
- GccToolChain *tc = new GccToolChain(false);
+ GccToolChain *tc = new GccToolChain(ToolChain::ManualDetection);
// Updating from 2.5:
QVariantMap updated = data;
QString id = idFromMap(updated);
@@ -772,7 +772,7 @@ ToolChain *GccToolChainFactory::restore(const QVariantMap &data)
GccToolChain *GccToolChainFactory::createToolChain(bool autoDetect)
{
- return new GccToolChain(autoDetect);
+ return new GccToolChain(autoDetect ? ToolChain::AutoDetection : ToolChain::ManualDetection);
}
QList<ToolChain *> GccToolChainFactory::autoDetectToolchains(const QString &compiler,
@@ -953,8 +953,8 @@ void GccToolChainConfigWidget::handlePlatformLinkerFlagsChange()
// ClangToolChain
// --------------------------------------------------------------------------
-ClangToolChain::ClangToolChain(bool autodetect) :
- GccToolChain(QLatin1String(Constants::CLANG_TOOLCHAIN_ID), autodetect)
+ClangToolChain::ClangToolChain(Detection d) :
+ GccToolChain(QLatin1String(Constants::CLANG_TOOLCHAIN_ID), d)
{ }
QString ClangToolChain::type() const
@@ -1082,7 +1082,7 @@ bool ClangToolChainFactory::canRestore(const QVariantMap &data)
ToolChain *ClangToolChainFactory::restore(const QVariantMap &data)
{
- ClangToolChain *tc = new ClangToolChain(false);
+ ClangToolChain *tc = new ClangToolChain(ToolChain::ManualDetection);
if (tc->fromMap(data))
return tc;
@@ -1092,15 +1092,15 @@ ToolChain *ClangToolChainFactory::restore(const QVariantMap &data)
GccToolChain *ClangToolChainFactory::createToolChain(bool autoDetect)
{
- return new ClangToolChain(autoDetect);
+ return new ClangToolChain(autoDetect ? ToolChain::AutoDetection : ToolChain::ManualDetection);
}
// --------------------------------------------------------------------------
// MingwToolChain
// --------------------------------------------------------------------------
-MingwToolChain::MingwToolChain(bool autodetect) :
- GccToolChain(QLatin1String(Constants::MINGW_TOOLCHAIN_ID), autodetect)
+MingwToolChain::MingwToolChain(Detection d) :
+ GccToolChain(QLatin1String(Constants::MINGW_TOOLCHAIN_ID), d)
{ }
QString MingwToolChain::type() const
@@ -1188,7 +1188,7 @@ bool MingwToolChainFactory::canRestore(const QVariantMap &data)
ToolChain *MingwToolChainFactory::restore(const QVariantMap &data)
{
- MingwToolChain *tc = new MingwToolChain(false);
+ MingwToolChain *tc = new MingwToolChain(ToolChain::ManualDetection);
if (tc->fromMap(data))
return tc;
@@ -1198,15 +1198,15 @@ ToolChain *MingwToolChainFactory::restore(const QVariantMap &data)
GccToolChain *MingwToolChainFactory::createToolChain(bool autoDetect)
{
- return new MingwToolChain(autoDetect);
+ return new MingwToolChain(autoDetect ? ToolChain::AutoDetection : ToolChain::ManualDetection);
}
// --------------------------------------------------------------------------
// LinuxIccToolChain
// --------------------------------------------------------------------------
-LinuxIccToolChain::LinuxIccToolChain(bool autodetect) :
- GccToolChain(QLatin1String(Constants::LINUXICC_TOOLCHAIN_ID), autodetect)
+LinuxIccToolChain::LinuxIccToolChain(Detection d) :
+ GccToolChain(QLatin1String(Constants::LINUXICC_TOOLCHAIN_ID), d)
{ }
QString LinuxIccToolChain::type() const
@@ -1284,7 +1284,7 @@ bool LinuxIccToolChainFactory::canRestore(const QVariantMap &data)
ToolChain *LinuxIccToolChainFactory::restore(const QVariantMap &data)
{
- LinuxIccToolChain *tc = new LinuxIccToolChain(false);
+ LinuxIccToolChain *tc = new LinuxIccToolChain(ToolChain::ManualDetection);
if (tc->fromMap(data))
return tc;
@@ -1294,7 +1294,7 @@ ToolChain *LinuxIccToolChainFactory::restore(const QVariantMap &data)
GccToolChain *LinuxIccToolChainFactory::createToolChain(bool autoDetect)
{
- return new LinuxIccToolChain(autoDetect);
+ return new LinuxIccToolChain(autoDetect ? ToolChain::AutoDetection : ToolChain::ManualDetection);
}
GccToolChain::WarningFlagAdder::WarningFlagAdder(const QString &flag, ToolChain::WarningFlags &flags) :
diff --git a/src/plugins/projectexplorer/gcctoolchain.h b/src/plugins/projectexplorer/gcctoolchain.h
index 093e2c6c30..64dda77a30 100644
--- a/src/plugins/projectexplorer/gcctoolchain.h
+++ b/src/plugins/projectexplorer/gcctoolchain.h
@@ -55,7 +55,7 @@ class LinuxIccToolChainFactory;
class PROJECTEXPLORER_EXPORT GccToolChain : public ToolChain
{
public:
- GccToolChain(const QString &id, bool autodetect);
+ GccToolChain(const QString &id, Detection d);
QString type() const;
QString typeDisplayName() const;
Abi targetAbi() const;
@@ -124,7 +124,7 @@ protected:
};
private:
- GccToolChain(bool autodetect);
+ explicit GccToolChain(Detection d);
void updateSupportedAbis() const;
@@ -166,7 +166,7 @@ protected:
virtual CompilerFlags defaultCompilerFlags() const;
private:
- ClangToolChain(bool autodetect);
+ explicit ClangToolChain(Detection d);
friend class Internal::ClangToolChainFactory;
friend class ToolChainFactory;
@@ -188,7 +188,7 @@ public:
QList<Utils::FileName> suggestedMkspecList() const;
private:
- MingwToolChain(bool autodetect);
+ explicit MingwToolChain(Detection d);
friend class Internal::MingwToolChainFactory;
friend class ToolChainFactory;
@@ -212,7 +212,7 @@ public:
QList<Utils::FileName> suggestedMkspecList() const;
private:
- LinuxIccToolChain(bool autodetect);
+ explicit LinuxIccToolChain(Detection d);
friend class Internal::LinuxIccToolChainFactory;
friend class ToolChainFactory;
diff --git a/src/plugins/projectexplorer/msvctoolchain.cpp b/src/plugins/projectexplorer/msvctoolchain.cpp
index ad2a9fac84..e3544f7949 100644
--- a/src/plugins/projectexplorer/msvctoolchain.cpp
+++ b/src/plugins/projectexplorer/msvctoolchain.cpp
@@ -304,8 +304,8 @@ Utils::Environment MsvcToolChain::readEnvironmentSetting(Utils::Environment& env
// --------------------------------------------------------------------------
MsvcToolChain::MsvcToolChain(const QString &name, const Abi &abi,
- const QString &varsBat, const QString &varsBatArg, bool autodetect) :
- AbstractMsvcToolChain(QLatin1String(Constants::MSVC_TOOLCHAIN_ID), autodetect, abi, varsBat),
+ const QString &varsBat, const QString &varsBatArg, Detection d) :
+ AbstractMsvcToolChain(QLatin1String(Constants::MSVC_TOOLCHAIN_ID), d, abi, varsBat),
m_varsBatArg(varsBatArg)
{
Q_ASSERT(!name.isEmpty());
@@ -322,7 +322,7 @@ bool MsvcToolChain::isValid() const
}
MsvcToolChain::MsvcToolChain() :
- AbstractMsvcToolChain(QLatin1String(Constants::MSVC_TOOLCHAIN_ID), false)
+ AbstractMsvcToolChain(QLatin1String(Constants::MSVC_TOOLCHAIN_ID), ManualDetection)
{
}
@@ -497,14 +497,14 @@ QList<ToolChain *> MsvcToolChainFactory::autoDetect()
QList<ToolChain *> tmp;
tmp.append(new MsvcToolChain(generateDisplayName(name, MsvcToolChain::WindowsSDK, MsvcToolChain::x86),
findAbiOfMsvc(MsvcToolChain::WindowsSDK, MsvcToolChain::x86, sdkKey),
- fi.absoluteFilePath(), QLatin1String("/x86"), true));
+ fi.absoluteFilePath(), QLatin1String("/x86"), ToolChain::AutoDetection));
// Add all platforms, cross-compiler is automatically selected by SetEnv.cmd if needed
tmp.append(new MsvcToolChain(generateDisplayName(name, MsvcToolChain::WindowsSDK, MsvcToolChain::amd64),
findAbiOfMsvc(MsvcToolChain::WindowsSDK, MsvcToolChain::amd64, sdkKey),
- fi.absoluteFilePath(), QLatin1String("/x64"), true));
+ fi.absoluteFilePath(), QLatin1String("/x64"), ToolChain::AutoDetection));
tmp.append(new MsvcToolChain(generateDisplayName(name, MsvcToolChain::WindowsSDK, MsvcToolChain::ia64),
findAbiOfMsvc(MsvcToolChain::WindowsSDK, MsvcToolChain::ia64, sdkKey),
- fi.absoluteFilePath(), QLatin1String("/ia64"), true));
+ fi.absoluteFilePath(), QLatin1String("/ia64"), ToolChain::AutoDetection));
// Make sure the default is front.
if (folder == defaultSdkPath)
results = tmp + results;
@@ -539,23 +539,23 @@ QList<ToolChain *> MsvcToolChainFactory::autoDetect()
if (QFileInfo(vcVarsBatFor(path, QLatin1String("x86"))).isFile())
results.append(new MsvcToolChain(generateDisplayName(vsName, MsvcToolChain::VS, MsvcToolChain::x86),
findAbiOfMsvc(MsvcToolChain::VS, MsvcToolChain::x86, vsName),
- vcvarsAllbat, QLatin1String("x86"), true));
+ vcvarsAllbat, QLatin1String("x86"), ToolChain::AutoDetection));
if (arch == Utils::HostOsInfo::HostArchitectureX86) {
if (QFileInfo(vcVarsBatFor(path, QLatin1String("x86_amd64"))).isFile())
results.append(new MsvcToolChain(generateDisplayName(vsName, MsvcToolChain::VS, MsvcToolChain::amd64),
findAbiOfMsvc(MsvcToolChain::VS, MsvcToolChain::amd64, vsName),
- vcvarsAllbat, QLatin1String("x86_amd64"), true));
+ vcvarsAllbat, QLatin1String("x86_amd64"), ToolChain::AutoDetection));
} else if (arch == Utils::HostOsInfo::HostArchitectureAMD64) {
if (QFileInfo(vcVarsBatFor(path, QLatin1String("amd64"))).isFile()) {
results.append(new MsvcToolChain(generateDisplayName(vsName, MsvcToolChain::VS, MsvcToolChain::amd64),
findAbiOfMsvc(MsvcToolChain::VS, MsvcToolChain::amd64, vsName),
- vcvarsAllbat, QLatin1String("amd64"), true));
+ vcvarsAllbat, QLatin1String("amd64"), ToolChain::AutoDetection));
} else if (QFileInfo(vcVarsBatFor(path, QLatin1String("x86_amd64"))).isFile()) {
// Fall back to 32 bit to 4 bit
results.append(new MsvcToolChain(generateDisplayName(vsName, MsvcToolChain::VS, MsvcToolChain::amd64),
findAbiOfMsvc(MsvcToolChain::VS, MsvcToolChain::amd64, vsName),
- vcvarsAllbat, QLatin1String("x86_amd64"), true));
+ vcvarsAllbat, QLatin1String("x86_amd64"), ToolChain::AutoDetection));
}
}
@@ -564,25 +564,25 @@ QList<ToolChain *> MsvcToolChainFactory::autoDetect()
if (QFileInfo(vcVarsBatFor(path, QLatin1String("x86_arm"))).isFile())
results.append(new MsvcToolChain(generateDisplayName(vsName, MsvcToolChain::VS, MsvcToolChain::arm),
findAbiOfMsvc(MsvcToolChain::VS, MsvcToolChain::arm, vsName),
- vcvarsAllbat, QLatin1String("x86_arm"), true));
+ vcvarsAllbat, QLatin1String("x86_arm"), ToolChain::AutoDetection));
} else if (arch == Utils::HostOsInfo::HostArchitectureArm) {
if (QFileInfo(vcVarsBatFor(path, QLatin1String("arm"))).isFile())
results.append(new MsvcToolChain(generateDisplayName(vsName, MsvcToolChain::VS, MsvcToolChain::arm),
findAbiOfMsvc(MsvcToolChain::VS, MsvcToolChain::arm, vsName),
- vcvarsAllbat, QLatin1String("arm"), true));
+ vcvarsAllbat, QLatin1String("arm"), ToolChain::AutoDetection));
}
if (arch == Utils::HostOsInfo::HostArchitectureItanium) {
if (QFileInfo(vcVarsBatFor(path, QLatin1String("ia64"))).isFile())
results.append(new MsvcToolChain(generateDisplayName(vsName, MsvcToolChain::VS, MsvcToolChain::ia64),
findAbiOfMsvc(MsvcToolChain::VS, MsvcToolChain::ia64, vsName),
- vcvarsAllbat, QLatin1String("ia64"), true));
+ vcvarsAllbat, QLatin1String("ia64"), ToolChain::AutoDetection));
} else if (arch == Utils::HostOsInfo::HostArchitectureX86
|| arch == Utils::HostOsInfo::HostArchitectureAMD64) {
if (QFileInfo(vcVarsBatFor(path, QLatin1String("x86_ia64"))).isFile())
results.append(new MsvcToolChain(generateDisplayName(vsName, MsvcToolChain::VS, MsvcToolChain::ia64),
findAbiOfMsvc(MsvcToolChain::VS, MsvcToolChain::ia64, vsName),
- vcvarsAllbat, QLatin1String("x86_ia64"), true));
+ vcvarsAllbat, QLatin1String("x86_ia64"), ToolChain::AutoDetection));
}
} else {
qWarning("Unable to find MSVC setup script %s in version %d", qPrintable(vcvarsAllbat), version);
diff --git a/src/plugins/projectexplorer/msvctoolchain.h b/src/plugins/projectexplorer/msvctoolchain.h
index 29ecc16ba3..29d5387a1f 100644
--- a/src/plugins/projectexplorer/msvctoolchain.h
+++ b/src/plugins/projectexplorer/msvctoolchain.h
@@ -54,7 +54,7 @@ public:
};
MsvcToolChain(const QString &name, const Abi &abi,
- const QString &varsBat, const QString &varsBatArg, bool autodetect = false);
+ const QString &varsBat, const QString &varsBatArg, Detection d = ManualDetection);
bool isValid() const;
QList<Utils::FileName> suggestedMkspecList() const;
diff --git a/src/plugins/projectexplorer/toolchain.cpp b/src/plugins/projectexplorer/toolchain.cpp
index 5ad6d777dc..d7d7b14454 100644
--- a/src/plugins/projectexplorer/toolchain.cpp
+++ b/src/plugins/projectexplorer/toolchain.cpp
@@ -53,8 +53,10 @@ namespace Internal {
class ToolChainPrivate
{
public:
- ToolChainPrivate(const QString &id, bool autodetect) :
- m_autodetect(autodetect)
+ typedef ToolChain::Detection Detection;
+
+ explicit ToolChainPrivate(const QString &id, Detection d) :
+ m_detection(d)
{
m_id = createId(id);
}
@@ -67,7 +69,7 @@ public:
}
QString m_id;
- bool m_autodetect;
+ Detection m_detection;
mutable QString m_displayName;
};
@@ -81,12 +83,12 @@ public:
// --------------------------------------------------------------------------
-ToolChain::ToolChain(const QString &id, bool autodetect) :
- d(new Internal::ToolChainPrivate(id, autodetect))
+ToolChain::ToolChain(const QString &id, Detection d) :
+ d(new Internal::ToolChainPrivate(id, d))
{ }
ToolChain::ToolChain(const ToolChain &other) :
- d(new Internal::ToolChainPrivate(other.d->m_id, false))
+ d(new Internal::ToolChainPrivate(other.d->m_id, ManualDetection))
{
// leave the autodetection bit at false.
d->m_displayName = QCoreApplication::translate("ProjectExplorer::ToolChain", "Clone of %1")
@@ -114,9 +116,9 @@ void ToolChain::setDisplayName(const QString &name)
toolChainUpdated();
}
-bool ToolChain::isAutoDetected() const
+ToolChain::Detection ToolChain::detection() const
{
- return d->m_autodetect;
+ return d->m_detection;
}
QString ToolChain::id() const
@@ -172,11 +174,11 @@ void ToolChain::toolChainUpdated()
ToolChainManager::notifyAboutUpdate(this);
}
-void ToolChain::setAutoDetected(bool autodetect)
+void ToolChain::setDetection(ToolChain::Detection de)
{
- if (d->m_autodetect == autodetect)
+ if (d->m_detection == de)
return;
- d->m_autodetect = autodetect;
+ d->m_detection = de;
toolChainUpdated();
}
@@ -191,7 +193,8 @@ bool ToolChain::fromMap(const QVariantMap &data)
d->m_displayName = data.value(QLatin1String(DISPLAY_NAME_KEY)).toString();
// make sure we have new style ids:
d->m_id = data.value(QLatin1String(ID_KEY)).toString();
- d->m_autodetect = data.value(QLatin1String(AUTODETECT_KEY), false).toBool();
+ const bool autoDetect = data.value(QLatin1String(AUTODETECT_KEY), false).toBool();
+ d->m_detection = autoDetect ? AutoDetectionFromSettings : ManualDetection;
return true;
}
diff --git a/src/plugins/projectexplorer/toolchain.h b/src/plugins/projectexplorer/toolchain.h
index 3364c75074..71b7b1e244 100644
--- a/src/plugins/projectexplorer/toolchain.h
+++ b/src/plugins/projectexplorer/toolchain.h
@@ -64,12 +64,20 @@ class Kit;
class PROJECTEXPLORER_EXPORT ToolChain
{
public:
+ enum Detection {
+ ManualDetection,
+ AutoDetection,
+ AutoDetectionFromSettings
+ };
+
virtual ~ToolChain();
QString displayName() const;
void setDisplayName(const QString &name);
- bool isAutoDetected() const;
+ inline bool isAutoDetected() const { return detection() != ManualDetection; }
+ Detection detection() const;
+
QString id() const;
virtual QList<Utils::FileName> suggestedMkspecList() const;
@@ -146,7 +154,7 @@ public:
virtual QVariantMap toMap() const;
virtual QList<Task> validateKit(const Kit *k) const;
protected:
- ToolChain(const QString &id, bool autoDetect);
+ explicit ToolChain(const QString &id, Detection d);
explicit ToolChain(const ToolChain &);
void toolChainUpdated();
@@ -155,7 +163,7 @@ protected:
virtual bool fromMap(const QVariantMap &data);
private:
- void setAutoDetected(bool);
+ void setDetection(Detection d);
Internal::ToolChainPrivate *const d;
diff --git a/src/plugins/projectexplorer/toolchainmanager.cpp b/src/plugins/projectexplorer/toolchainmanager.cpp
index deef447278..8c0f2dc99c 100644
--- a/src/plugins/projectexplorer/toolchainmanager.cpp
+++ b/src/plugins/projectexplorer/toolchainmanager.cpp
@@ -198,7 +198,7 @@ void ToolChainManager::restoreToolChains()
restoreFromFile(FileName::fromString(systemSettingsFile.absolutePath() + QLatin1String(TOOLCHAIN_FILENAME)));
// make sure we mark these as autodetected!
foreach (ToolChain *tc, readTcs)
- tc->setAutoDetected(true);
+ tc->setDetection(ToolChain::AutoDetection);
tcsToRegister = readTcs; // SDK TCs are always considered to be up-to-date, so no need to
// recheck them.
@@ -239,10 +239,12 @@ void ToolChainManager::restoreToolChains()
foreach (ToolChain *currentDetected, detectedTcs) {
toStore = currentDetected;
- // Check whether we had this TC stored and prefer the old one with the old id:
+ // Check whether we had this TC stored and prefer the old one with the old id, marked
+ // as auto-detection.
for (int i = 0; i < tcsToCheck.count(); ++i) {
if (*(tcsToCheck.at(i)) == *currentDetected) {
toStore = tcsToCheck.at(i);
+ toStore->setDetection(ToolChain::AutoDetection);
tcsToCheck.removeAt(i);
delete currentDetected;
break;
diff --git a/src/plugins/projectexplorer/toolchainoptionspage.cpp b/src/plugins/projectexplorer/toolchainoptionspage.cpp
index b8adc84943..44b1a82191 100644
--- a/src/plugins/projectexplorer/toolchainoptionspage.cpp
+++ b/src/plugins/projectexplorer/toolchainoptionspage.cpp
@@ -625,7 +625,7 @@ void ToolChainOptionsPage::updateState()
ToolChain *tc = m_model->toolChain(currentIndex());
if (tc) {
canCopy = tc->isValid() && tc->canClone();
- canDelete = !tc->isAutoDetected();
+ canDelete = tc->detection() != ToolChain::AutoDetection;
}
m_cloneButton->setEnabled(canCopy);
diff --git a/src/plugins/projectexplorer/wincetoolchain.cpp b/src/plugins/projectexplorer/wincetoolchain.cpp
index 3e4d2ae727..e1e7ed403d 100644
--- a/src/plugins/projectexplorer/wincetoolchain.cpp
+++ b/src/plugins/projectexplorer/wincetoolchain.cpp
@@ -240,8 +240,8 @@ WinCEToolChain::WinCEToolChain(const QString &name,
const QString &binPath,
const QString &includePath,
const QString &libPath,
- bool autodetect) :
- AbstractMsvcToolChain(QLatin1String(Constants::WINCE_TOOLCHAIN_ID), autodetect, abi, vcvarsBat),
+ Detection d) :
+ AbstractMsvcToolChain(QLatin1String(Constants::WINCE_TOOLCHAIN_ID), d, abi, vcvarsBat),
m_msvcVer(msvcVer),
m_ceVer(ceVer),
m_binPath(binPath),
@@ -257,7 +257,7 @@ WinCEToolChain::WinCEToolChain(const QString &name,
}
WinCEToolChain::WinCEToolChain() :
- AbstractMsvcToolChain(QLatin1String(Constants::WINCE_TOOLCHAIN_ID), false)
+ AbstractMsvcToolChain(QLatin1String(Constants::WINCE_TOOLCHAIN_ID), ManualDetection)
{
}
@@ -410,7 +410,7 @@ QList<ToolChain *> WinCEToolChainFactory::autoDetect()
binPath,
includePath,
libPath,
- true);
+ ToolChain::AutoDetection);
results.append(pChain);
}
}
diff --git a/src/plugins/projectexplorer/wincetoolchain.h b/src/plugins/projectexplorer/wincetoolchain.h
index 0f375f75ce..fddf6fa684 100644
--- a/src/plugins/projectexplorer/wincetoolchain.h
+++ b/src/plugins/projectexplorer/wincetoolchain.h
@@ -48,7 +48,7 @@ public:
const QString &binPath,
const QString &includePath,
const QString &libPath,
- bool autodetect = false);
+ Detection d = ManualDetection);
QList<Utils::FileName> suggestedMkspecList() const;
diff --git a/src/plugins/qnx/blackberryconfiguration.cpp b/src/plugins/qnx/blackberryconfiguration.cpp
index e6bf75f44b..750015d763 100644
--- a/src/plugins/qnx/blackberryconfiguration.cpp
+++ b/src/plugins/qnx/blackberryconfiguration.cpp
@@ -231,7 +231,7 @@ GccToolChain *BlackBerryConfiguration::createGccToolChain()
}
}
- GccToolChain* tc = new GccToolChain(QLatin1String(ProjectExplorer::Constants::GCC_TOOLCHAIN_ID), m_isAutoDetected);
+ GccToolChain* tc = new GccToolChain(QLatin1String(ProjectExplorer::Constants::GCC_TOOLCHAIN_ID), m_isAutoDetected ? ToolChain::AutoDetection : ToolChain::ManualDetection);
tc->setDisplayName(QString::fromLatin1("GCC BlackBerry 10 (%1)").arg(m_targetName));
tc->setCompilerCommand(m_gccCompiler);