diff --git a/src/command/build.rs b/src/command/build.rs index df3accd..e18a77c 100644 --- a/src/command/build.rs +++ b/src/command/build.rs @@ -184,7 +184,15 @@ type BuildStep = fn(&mut Build) -> Result<(), Error>; impl Build { /// Construct a build command from the given options. - pub fn try_from_opts(build_opts: BuildOptions) -> Result<Self, Error> { + pub fn try_from_opts(mut build_opts: BuildOptions) -> Result<Self, Error> { + if let Some(path) = &build_opts.path { + if path.to_string_lossy().starts_with("--") { + let path = build_opts.path.take().unwrap(); + build_opts + .extra_options + .insert(0, path.to_string_lossy().into_owned().to_string()); + } + } let crate_path = get_crate_path(build_opts.path)?; let crate_data = manifest::CrateData::new(&crate_path, build_opts.out_name.clone())?; let out_dir = crate_path.join(PathBuf::from(build_opts.out_dir));