aboutsummaryrefslogtreecommitdiff
path: root/crates/project_model/src/workspace.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/project_model/src/workspace.rs')
-rw-r--r--crates/project_model/src/workspace.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/crates/project_model/src/workspace.rs b/crates/project_model/src/workspace.rs
index ab5cbae11..7f4a7e56b 100644
--- a/crates/project_model/src/workspace.rs
+++ b/crates/project_model/src/workspace.rs
@@ -453,13 +453,18 @@ fn add_target_crate_root(
453 opts.extend(pkg.cfgs.iter().cloned()); 453 opts.extend(pkg.cfgs.iter().cloned());
454 opts 454 opts
455 }; 455 };
456
456 let mut env = Env::default(); 457 let mut env = Env::default();
458 for (k, v) in &pkg.envs {
459 env.set(k, v.clone());
460 }
457 if let Some(out_dir) = &pkg.out_dir { 461 if let Some(out_dir) = &pkg.out_dir {
458 // NOTE: cargo and rustc seem to hide non-UTF-8 strings from env! and option_env!() 462 // NOTE: cargo and rustc seem to hide non-UTF-8 strings from env! and option_env!()
459 if let Some(out_dir) = out_dir.to_str().map(|s| s.to_owned()) { 463 if let Some(out_dir) = out_dir.to_str().map(|s| s.to_owned()) {
460 env.set("OUT_DIR", out_dir); 464 env.set("OUT_DIR", out_dir);
461 } 465 }
462 } 466 }
467
463 let proc_macro = 468 let proc_macro =
464 pkg.proc_macro_dylib_path.as_ref().map(|it| proc_macro_loader(&it)).unwrap_or_default(); 469 pkg.proc_macro_dylib_path.as_ref().map(|it| proc_macro_loader(&it)).unwrap_or_default();
465 470