use serde::{Deserialize, Serialize};
use strum_macros::Display;
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub(super) struct BuildConfig {
pub(super) profile: Option<Profile>,
#[serde(default)]
pub(super) runner: Vec<String>,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Deserialize, Serialize, Display)]
#[cfg_attr(feature = "clap", derive(clap::ValueEnum))]
#[serde(rename_all = "lowercase")]
#[strum(serialize_all = "lowercase")]
pub enum Profile {
Release,
Dev,
}
impl Profile {
pub fn opt_level(self) -> u32 {
match self {
Self::Release => 3,
Self::Dev => 0,
}
}
}