aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/webassembly
diff options
context:
space:
mode:
authorAlessandro Portale <alessandro.portale@qt.io>2019-10-19 15:16:44 +0200
committerAlessandro Portale <alessandro.portale@qt.io>2019-10-21 08:32:20 +0000
commitf6d2315824b4800fd9fbf08b6d48283e90376d34 (patch)
treea34cc94709d32280d0c71b007eb99bdeff022ce5 /src/plugins/webassembly
parentc2c8b9a5d65236f9103f00dd9b0be605aa812409 (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.cpp21
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)
{