roxy_loader_utils/utils.rs
1use std::path::PathBuf;
2
3use anyhow::Result;
4
5/// Returns the Cargo target directory for the current workspace.
6pub fn cargo_target_dir() -> Result<PathBuf> {
7 Ok(cargo_metadata()?.target_directory.into())
8}
9
10fn cargo_metadata() -> Result<cargo_metadata::Metadata> {
11 Ok(cargo_metadata::MetadataCommand::new().exec()?)
12}
13
14// Evaluate workspace root at comptime.
15pub(crate) fn static_workspace_root() -> PathBuf {
16 let utils_dir: PathBuf = env!("CARGO_MANIFEST_DIR").into();
17
18 utils_dir.join("..")
19}