Toolchain: set triple in msvctoolchain class

Move triple set up to msvc toolchain class,
use another triple for x86_64

Change-Id: I3aebb051eb5d93accc6073e01391bf972199c2cb
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
Ivan Donchevskii
2017-07-03 14:38:46 +02:00
parent 229cfdb356
commit 985180d384
3 changed files with 10 additions and 3 deletions

View File

@@ -40,9 +40,7 @@ ToolChainInfo::ToolChainInfo(const ProjectExplorer::ToolChain *toolChain,
isMsvc2015ToolChain isMsvc2015ToolChain
= toolChain->targetAbi().osFlavor() == ProjectExplorer::Abi::WindowsMsvc2015Flavor; = toolChain->targetAbi().osFlavor() == ProjectExplorer::Abi::WindowsMsvc2015Flavor;
wordWidth = toolChain->targetAbi().wordWidth(); wordWidth = toolChain->targetAbi().wordWidth();
targetTriple = type == ProjectExplorer::Constants::MSVC_TOOLCHAIN_TYPEID targetTriple = toolChain->originalTargetTriple();
? QLatin1String("i686-pc-windows-msvc")
: toolChain->originalTargetTriple(); // OK, compiler run is already cached.
// ...and save the potentially expensive operations for later so that // ...and save the potentially expensive operations for later so that
// they can be run from a worker thread. // they can be run from a worker thread.

View File

@@ -97,6 +97,13 @@ bool AbstractMsvcToolChain::isValid() const
return fi.isFile() && fi.isExecutable(); return fi.isFile() && fi.isExecutable();
} }
QString AbstractMsvcToolChain::originalTargetTriple() const
{
return m_abi.wordWidth() == 64
? QLatin1String("x86_64-pc-windows-msvc")
: QLatin1String("i686-pc-windows-msvc");
}
ToolChain::PredefinedMacrosRunner AbstractMsvcToolChain::createPredefinedMacrosRunner() const ToolChain::PredefinedMacrosRunner AbstractMsvcToolChain::createPredefinedMacrosRunner() const
{ {
Utils::Environment env(m_lastEnvironment); Utils::Environment env(m_lastEnvironment);

View File

@@ -50,6 +50,8 @@ public:
bool isValid() const override; bool isValid() const override;
QString originalTargetTriple() const override;
PredefinedMacrosRunner createPredefinedMacrosRunner() const override; PredefinedMacrosRunner createPredefinedMacrosRunner() const override;
QByteArray predefinedMacros(const QStringList &cxxflags) const override; QByteArray predefinedMacros(const QStringList &cxxflags) const override;
CompilerFlags compilerFlags(const QStringList &cxxflags) const override; CompilerFlags compilerFlags(const QStringList &cxxflags) const override;