| 43 | |
| 44 | impl Compiler { |
| 45 | pub fn new(setup: &CompilerSetup, path: &str, version_text: &str) -> Option<Compiler> { |
| 46 | let (version, package_string) = match setup.ty { |
| 47 | CompilerType::GCC => verparse::gcc(version_text).ok()?, |
| 48 | CompilerType::LLVM => verparse::clang(version_text).ok()?, |
| 49 | CompilerType::MSVC => return None, |
| 50 | }; |
| 51 | let compiler = Compiler { |
| 52 | setup: setup.id, |
| 53 | path: path.to_string(), |
| 54 | version: version.to_string(), |
| 55 | package_string: package_string.to_string(), |
| 56 | }; |
| 57 | Some(compiler) |
| 58 | } |
| 59 | } |
| 60 | |
| 61 | #[derive(Serialize, Deserialize, PartialEq, Debug, Clone, Copy)] |