From 2e61abaa9ae5d7a41ca1fa6505b5d6c368625ce5 Mon Sep 17 00:00:00 2001 From: Lucas Fernandes Nogueira Date: Wed, 6 Jul 2022 09:29:03 -0300 Subject: [PATCH] feat(cli): allow dynamic link vcruntime, closes #4565 (#4601) --- .changes/static-vcruntime-envvar.md | 6 ++++++ tooling/cli/src/interface/rust.rs | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 .changes/static-vcruntime-envvar.md diff --git a/.changes/static-vcruntime-envvar.md b/.changes/static-vcruntime-envvar.md new file mode 100644 index 000000000..99702262e --- /dev/null +++ b/.changes/static-vcruntime-envvar.md @@ -0,0 +1,6 @@ +--- +"cli.rs": patch +"cli.js": patch +--- + +Skip the static link of the `vcruntime140.dll` if the `STATIC_VCRUNTIME` environment variable is set to `false`. diff --git a/tooling/cli/src/interface/rust.rs b/tooling/cli/src/interface/rust.rs index 1191c34b6..cc03246eb 100644 --- a/tooling/cli/src/interface/rust.rs +++ b/tooling/cli/src/interface/rust.rs @@ -155,7 +155,10 @@ impl Interface for Rust { .features .get_or_insert(Vec::new()) .push("custom-protocol".into()); - std::env::set_var("STATIC_VCRUNTIME", "true"); + + if !std::env::var("STATIC_VCRUNTIME").map_or(false, |v| v == "false") { + std::env::set_var("STATIC_VCRUNTIME", "true"); + } if options.target == Some("universal-apple-darwin".into()) { std::fs::create_dir_all(&out_dir)