From f6d2315824b4800fd9fbf08b6d48283e90376d34 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Sat, 19 Oct 2019 15:16:44 +0200 Subject: 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 --- src/plugins/webassembly/webassemblytoolchain.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'src/plugins/webassembly') diff --git a/src/plugins/webassembly/webassemblytoolchain.cpp b/src/plugins/webassembly/webassemblytoolchain.cpp index ec4726aa6f7..73c407c3617 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) { -- cgit v1.2.3