summaryrefslogtreecommitdiff
path: root/2021/build.rs
blob: adbcf874208380c05c321a9d6a6978259297269d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
use std::env;
use std::error::Error;

fn main() -> Result<(), Box<dyn Error>> {
    println!("cargo:rerun-if-env-changed=AOCDAY");
    println!("cargo:rerun-if-env-changed=AOCPART");

    if let Ok(version) = env::var("AOCDAY") {
        let version = version.parse::<u32>()?;
        match version {
            1..=2 => println!("cargo:rustc-cfg=day{:02}", version),
            _ => panic!("Not a valid day")
        };
    } else {
        panic!("No date specified");
    }

    if let Ok(version) = env::var("AOCPART") {
        let version = version.parse::<u32>()?;
        match version {
            1..=2 => println!("cargo:rustc-cfg=part{}", version),
            _ => panic!("Not a valid part")
        };
    } else {
        panic!("No part specified");
    }

    Ok(())
}