aboutsummaryrefslogtreecommitdiffstats
path: root/build.rs
diff options
context:
space:
mode:
Diffstat (limited to 'build.rs')
-rw-r--r--build.rs35
1 files changed, 35 insertions, 0 deletions
diff --git a/build.rs b/build.rs
new file mode 100644
index 0000000..df4282a
--- /dev/null
+++ b/build.rs
@@ -0,0 +1,35 @@
+#[cfg(feature = "serde_tests")]
+extern crate syntex;
+
+#[cfg(feature = "serde_tests")]
+extern crate serde_codegen;
+
+#[cfg(feature = "serde_tests")]
+mod serde_tests {
+ use std::env;
+ use std::path::Path;
+
+ use syntex;
+ use serde_codegen;
+
+ pub fn build() {
+ let out_dir = env::var_os("OUT_DIR").unwrap();
+
+ let src = Path::new("tests/serde_tests.rs.in");
+ let dst = Path::new(&out_dir).join("serde_tests.rs");
+
+ let mut registry = syntex::Registry::new();
+
+ serde_codegen::register(&mut registry);
+ registry.expand("", &src, &dst).unwrap();
+ }
+}
+
+#[cfg(not(feature = "serde_tests"))]
+mod serde_tests {
+ pub fn build() {}
+}
+
+fn main() {
+ serde_tests::build()
+}