equal
deleted
inserted
replaced
|
1 extern crate cbindgen; |
|
2 |
|
3 use cbindgen::Config; |
|
4 use std::env; |
|
5 use std::path::PathBuf; |
|
6 |
|
7 fn main() { |
|
8 let crate_dir = env::var("CARGO_MANIFEST_DIR").unwrap(); |
|
9 |
|
10 let package_name = env::var("CARGO_PKG_NAME").unwrap(); |
|
11 let output_file = target_dir() |
|
12 .join(format!("{}.hpp", package_name)) |
|
13 .display() |
|
14 .to_string(); |
|
15 |
|
16 let config = Config { |
|
17 namespace: Some(String::from("hwengine")), |
|
18 ..Default::default() |
|
19 }; |
|
20 |
|
21 cbindgen::generate_with_config(&crate_dir, config) |
|
22 .unwrap() |
|
23 .write_to_file(&output_file); |
|
24 } |
|
25 |
|
26 fn target_dir() -> PathBuf { |
|
27 if let Ok(target) = env::var("CARGO_TARGET_DIR") { |
|
28 PathBuf::from(target) |
|
29 } else { |
|
30 PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap()).join("target") |
|
31 } |
|
32 } |