diff --git a/fj-app/src/main.rs b/fj-app/src/main.rs index 384404ae3..684126125 100644 --- a/fj-app/src/main.rs +++ b/fj-app/src/main.rs @@ -68,7 +68,7 @@ fn main() -> anyhow::Result<()> { } } - let model = Model::from_path(path)?; + let model = Model::from_path(path, None)?; let mut parameters = HashMap::new(); for parameter in args.parameters { diff --git a/fj-app/src/model.rs b/fj-app/src/model.rs index 313d909a8..74000bc00 100644 --- a/fj-app/src/model.rs +++ b/fj-app/src/model.rs @@ -9,7 +9,10 @@ pub struct Model { } impl Model { - pub fn from_path(path: PathBuf) -> io::Result { + pub fn from_path( + path: PathBuf, + target_dir: Option, + ) -> io::Result { let name = { // Can't panic. It only would, if the path ends with "..", and we // are canonicalizing it here to prevent that. @@ -31,7 +34,8 @@ impl Model { format!("lib{}.so", name) }; - path.join("target/debug").join(file) + let target_dir = target_dir.unwrap_or_else(|| path.join("target")); + target_dir.join("debug").join(file) }; let manifest_path = path.join("Cargo.toml");