use serde::Deserialize; use std::collections::HashMap; #[derive(Debug, Clone, Deserialize)] #[serde(deny_unknown_fields)] pub struct DeserTarget { pub outfile: Option, pub compiler: Option, pub compiler_flags: Option>, pub linker: Option, pub linker_flags: Option>, pub linker_libs: Option>, pub sources: Option>, pub opts: Option, } #[derive(Debug, Clone, Deserialize)] #[serde(deny_unknown_fields)] pub struct DeserTargetOptions { pub inherit: Option, pub inherit_from: Option, pub depend_on: Option>, pub default: Option, pub compile_cmd_fmt: Option, pub link_cmd_fmt: Option, pub object_suffix: Option, } #[derive(Debug, Clone, Deserialize)] #[serde(deny_unknown_fields)] pub struct DeserConfig { pub build_dir: Option, pub compile_commands: Option, pub compile_commands_target: Option, } pub type DeserTargetList = HashMap; #[derive(Debug, Clone, Deserialize)] #[serde(deny_unknown_fields)] pub struct DeserNgenToml { pub config: Option, pub targets: Option, }