cargo-xcodebuild 0.1.0

Helps cargo build and run apps for iOS
use anyhow::Context as _;

pub fn run_cargo_subcommand(cmd: &cargo_subcommand::Subcommand) -> anyhow::Result<()> {
    run_cargo(cmd.cmd(), cmd.args(), None)?;

    Ok(())
}

pub fn run_cargo(cmd: &str, args: &[String], target: Option<&str>) -> anyhow::Result<()> {
    let mut command = std::process::Command::new("cargo");
    command.arg(cmd);
    if let Some(t) = target {
        command.arg("--target").arg(t);
    }
    command
        .args(args)
        .status()
        .with_context(|| format!("Failed to run cargo {} with args: {:?}", cmd, args,))?;
    Ok(())
}