summaryrefslogtreecommitdiff
path: root/2021/build.rs
diff options
context:
space:
mode:
Diffstat (limited to '2021/build.rs')
-rw-r--r--2021/build.rs29
1 files changed, 29 insertions, 0 deletions
diff --git a/2021/build.rs b/2021/build.rs
new file mode 100644
index 0000000..adbcf87
--- /dev/null
+++ b/2021/build.rs
@@ -0,0 +1,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(())
+}