#[macro_export]
macro_rules! cargo_manifest_dir {
() => {
env!("CARGO_MANIFEST_DIR")
};
}
#[macro_export]
macro_rules! cargo_package {
() => {
env!("CARGO_PKG_NAME")
};
}
#[macro_export]
macro_rules! cargo_binary {
() => {
$crate::cargo_binary!($crate::cargo_package!())
};
($name:expr) => {
env!(concat!("CARGO_BIN_EXE_", $name))
};
}
#[macro_export]
macro_rules! command {
() => {
$crate::Command::new($crate::cargo_binary!(), file!(), $crate::cargo_manifest_dir!())
};
($name:expr) => {
$crate::Command::new($crate::cargo_binary!($name), file!(), $crate::cargo_manifest_dir!())
};
}
#[macro_export]
macro_rules! cmd {
($name:expr) => {
$crate::Command::new($name, file!(), $crate::cargo_manifest_dir!())
};
}