Commit Graph

5 Commits

Author SHA1 Message Date
Alessandro Portale
a001944321 WebAssembly: Fix the missing auto-detected "C" toolchain
By not setting the toolchain language twice.

Change-Id: Id7058662047f451dcc524151aa5ff7cec854b9d3
Reviewed-by: hjk <hjk@qt.io>
2020-09-23 11:11:16 +00:00
hjk
a84e626b67 ProjectExplorer: De-QObject-ify ToolChainFactory
As collateral damage, use a capital C in  KeilToolchain*.

Change-Id: If9d64de2108366546683144975d975d9d1727712
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-02-27 13:58:24 +00:00
Alessandro Portale
f6d2315824 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>
2019-10-21 08:32:20 +00:00
hjk
71e9e3832a WebAssembly: Remove ToolChain::fromMap hack
GccToolChain::fromMap does not filter anymore.

Change-Id: I0e76703ef1074b4d50999a72b1f598856627de74
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-08-01 16:53:01 +00:00
Alessandro Portale
b89ad81293 WebAssembly: Initial commit
This change adds WebAssembly support in the shape of a plugin.

- Auto-detection of the emsdk toolchain
- Handling of "asmjs-unknown-emscripten" Abi
- Binary detection of WebAssembly libraries
- Auto-creation of a "WebAssembly runtime" device (with icon)
- Runconfiguration that launches the application via the "emrun"
  tool which spawns a local web server and runs the application on
  the chosen web browser.

Limitations:
- So far only tested on Windows/MinGW and Linux
- Not yet tested with Qt WebAssembly installation form the installer
  Only tested with self-built Qt and manually added kit
- The attempt to launch an application via emrun, while a previous
  application is still running, will fail. The reason is that the
  web servers spawned by emrun listen to the same default port but
  serve only the content of one application.
  Possible solutions: We could either spawn the different web servers
  with different ports, or we could use one single web server instance
  which serves the whole default project location (home directory).

Task-number: QTCREATORBUG-21068
Task-number: QTCREATORBUG-22249
Change-Id: I1a16fbe52382d45c37e9bc624a943a6ca475fa09
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-07-25 13:17:51 +00:00