mirror of
https://github.com/enso-org/enso.git
synced 2024-09-11 13:15:52 +03:00
This PR introduces a new installer and uninstaller for the Windows platform. Both are written in Rust and compiled to a single executable. The executable has no dependencies (other than what is included in the Windows), links the C++ runtime statically if needed. The change is motivated by numerous issues with with the `electron-builder`-generated installers. The new installer should behave better, not have issues with long paths and unblock the `electron-builder` upgrade (which will significantly simplify the workflow definitions). To build an installer, one needs to provide the unpacked application (generated by `electron-builder`) and the `electron-builder` configuration (with a few minor extensions). Code signing is also supported.
20 lines
712 B
TOML
20 lines
712 B
TOML
[build]
|
|
target-dir = "target/rust/"
|
|
rustflags = ["--cfg", "tokio_unstable"]
|
|
|
|
[target.wasm32-unknown-unknown]
|
|
rustflags = [
|
|
# Increas the stack size from 1MB to 2MB. This is required to avoid running out of stack space
|
|
# in debug builds. The error is reported as `RuntimeError: memory access out of bounds`.
|
|
"-C",
|
|
"link-args=-z stack-size=2097152",
|
|
]
|
|
|
|
[target.x86_64-pc-windows-msvc]
|
|
# Static linking is required to avoid the need for the Visual C++ Redistributable. We care about this primarily for our
|
|
# installer binary package.
|
|
rustflags = ["-C", "link-arg=/STACK:2097152", "-C", "target-feature=+crt-static"]
|
|
|
|
[target.x86_64-pc-windows-gnu]
|
|
rustflags = ["-C", "link-arg=-Wl,--stack,2097152"]
|