diff options
author | Alessandro Portale <alessandro.portale@qt.io> | 2019-10-19 15:16:44 +0200 |
---|---|---|
committer | Alessandro Portale <alessandro.portale@qt.io> | 2019-10-21 08:32:20 +0000 |
commit | f6d2315824b4800fd9fbf08b6d48283e90376d34 (patch) | |
tree | a34cc94709d32280d0c71b007eb99bdeff022ce5 /src/plugins/webassembly | |
parent | c2c8b9a5d65236f9103f00dd9b0be605aa812409 (diff) |
WebAssembly: Add registered MinGW path to toolchain environment
The build system of Qt for WebAssembly on Windows requires MinGW in the
path. If a MinGW toolchain is registeded (e.g. via Sdk installer),
append it to the path.
Change-Id: I5c33cb5c4df636be99f815e307806efc07e18a11
Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/plugins/webassembly')
-rw-r--r-- | src/plugins/webassembly/webassemblytoolchain.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/plugins/webassembly/webassemblytoolchain.cpp b/src/plugins/webassembly/webassemblytoolchain.cpp index ec4726aa6f..73c407c361 100644 --- a/src/plugins/webassembly/webassemblytoolchain.cpp +++ b/src/plugins/webassembly/webassemblytoolchain.cpp @@ -91,7 +91,7 @@ static ProjectExplorer::Abi toolChainAbi() }; } -void WebAssemblyToolChain::addToEnvironment(Utils::Environment &env) const +static void addEmscriptenToEnvironment(Utils::Environment &env) { const CompilerConfiguration configuration = compilerConfiguration(); @@ -113,6 +113,25 @@ void WebAssemblyToolChain::addToEnvironment(Utils::Environment &env) const env.set("EMSCRIPTEN", configuration.emScripten.toUserOutput()); } +static void addRegisteredMinGWToEnvironment(Utils::Environment &env) +{ + using namespace ProjectExplorer; + const ToolChain *toolChain = ToolChainManager::toolChain([](const ToolChain *t){ + return t->typeId() == ProjectExplorer::Constants::MINGW_TOOLCHAIN_TYPEID; + }); + if (toolChain) { + const QString mingwPath = toolChain->compilerCommand().parentDir().toUserOutput(); + env.appendOrSetPath(mingwPath); + } +} + +void WebAssemblyToolChain::addToEnvironment(Utils::Environment &env) const +{ + addEmscriptenToEnvironment(env); + if (Utils::HostOsInfo::isWindowsHost()) + addRegisteredMinGWToEnvironment(env); +} + WebAssemblyToolChain::WebAssemblyToolChain() : ClangToolChain(Constants::WEBASSEMBLY_TOOLCHAIN_TYPEID) { |