rust/lib-hedgewars-engine/build.rs
changeset 15893 5b3beb90e1a6
equal deleted inserted replaced
15892:b3295f94e5e9 15893:5b3beb90e1a6
       
     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 }