diff options
Diffstat (limited to 'crates/project_model/src/workspace.rs')
-rw-r--r-- | crates/project_model/src/workspace.rs | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/crates/project_model/src/workspace.rs b/crates/project_model/src/workspace.rs index 073c48af7..bc5041e5a 100644 --- a/crates/project_model/src/workspace.rs +++ b/crates/project_model/src/workspace.rs | |||
@@ -178,7 +178,7 @@ impl ProjectWorkspace { | |||
178 | let pkg_root = cargo[pkg].root().to_path_buf(); | 178 | let pkg_root = cargo[pkg].root().to_path_buf(); |
179 | 179 | ||
180 | let mut include = vec![pkg_root.clone()]; | 180 | let mut include = vec![pkg_root.clone()]; |
181 | include.extend(cargo[pkg].out_dir.clone()); | 181 | include.extend(cargo[pkg].build_data.out_dir.clone()); |
182 | 182 | ||
183 | let mut exclude = vec![pkg_root.join(".git")]; | 183 | let mut exclude = vec![pkg_root.join(".git")]; |
184 | if is_member { | 184 | if is_member { |
@@ -484,23 +484,21 @@ fn add_target_crate_root( | |||
484 | for feature in pkg.active_features.iter() { | 484 | for feature in pkg.active_features.iter() { |
485 | opts.insert_key_value("feature".into(), feature.into()); | 485 | opts.insert_key_value("feature".into(), feature.into()); |
486 | } | 486 | } |
487 | opts.extend(pkg.cfgs.iter().cloned()); | 487 | opts.extend(pkg.build_data.cfgs.iter().cloned()); |
488 | opts | 488 | opts |
489 | }; | 489 | }; |
490 | 490 | ||
491 | let mut env = Env::default(); | 491 | let mut env = Env::default(); |
492 | for (k, v) in &pkg.envs { | 492 | for (k, v) in &pkg.build_data.envs { |
493 | env.set(k, v.clone()); | 493 | env.set(k, v.clone()); |
494 | } | 494 | } |
495 | if let Some(out_dir) = &pkg.out_dir { | ||
496 | // NOTE: cargo and rustc seem to hide non-UTF-8 strings from env! and option_env!() | ||
497 | if let Some(out_dir) = out_dir.to_str().map(|s| s.to_owned()) { | ||
498 | env.set("OUT_DIR", out_dir); | ||
499 | } | ||
500 | } | ||
501 | 495 | ||
502 | let proc_macro = | 496 | let proc_macro = pkg |
503 | pkg.proc_macro_dylib_path.as_ref().map(|it| proc_macro_loader(&it)).unwrap_or_default(); | 497 | .build_data |
498 | .proc_macro_dylib_path | ||
499 | .as_ref() | ||
500 | .map(|it| proc_macro_loader(&it)) | ||
501 | .unwrap_or_default(); | ||
504 | 502 | ||
505 | let display_name = CrateDisplayName::from_canonical_name(pkg.name.clone()); | 503 | let display_name = CrateDisplayName::from_canonical_name(pkg.name.clone()); |
506 | let crate_id = crate_graph.add_crate_root( | 504 | let crate_id = crate_graph.add_crate_root( |