Process build configuration before resolving dependencies
authorDirkjan Ochtman <dirkjan@ochtman.nl>
Wed, 11 Apr 2018 14:05:28 +0000 (16:05 +0200)
committerDirkjan Ochtman <dirkjan@ochtman.nl>
Wed, 11 Apr 2018 21:16:49 +0000 (23:16 +0200)
src/cargo/ops/cargo_compile.rs

index 27ba181aef127638f13079a0eb31147077a815f7..63372b2792897b9bd342f5437ff90b71be6a1b9a 100644 (file)
@@ -259,6 +259,14 @@ pub fn compile_ws<'a>(
         bail!("jobs must be at least 1")
     }
 
+    let mut build_config = scrape_build_config(config, jobs, target)?;
+    build_config.release = release;
+    build_config.test = mode == CompileMode::Test || mode == CompileMode::Bench;
+    build_config.json_messages = message_format == MessageFormat::Json;
+    if let CompileMode::Doc { deps } = mode {
+        build_config.doc_all = deps;
+    }
+
     let profiles = ws.profiles();
 
     let specs = spec.into_package_id_specs(ws)?;
@@ -340,14 +348,6 @@ pub fn compile_ws<'a>(
     }
     let mut ret = {
         let _p = profile::start("compiling");
-        let mut build_config = scrape_build_config(config, jobs, target)?;
-        build_config.release = release;
-        build_config.test = mode == CompileMode::Test || mode == CompileMode::Bench;
-        build_config.json_messages = message_format == MessageFormat::Json;
-        if let CompileMode::Doc { deps } = mode {
-            build_config.doc_all = deps;
-        }
-
         ops::compile_targets(
             ws,
             &package_targets,