52a558ee4d
header file into the root of the C API's source directory to prevent confusion.
21 lines
791 B
Rust
21 lines
791 B
Rust
extern crate cbindgen;
|
|
|
|
use std::{env, path::PathBuf};
|
|
|
|
fn main() {
|
|
let crate_dir = PathBuf::from(
|
|
env::var("CARGO_MANIFEST_DIR").expect("CARGO_MANIFEST_DIR env var is not defined"),
|
|
);
|
|
|
|
let config = cbindgen::Config::from_file("cbindgen.toml")
|
|
.expect("Unable to find cbindgen.toml configuration file");
|
|
|
|
if let Ok(writer) = cbindgen::generate_with_config(&crate_dir, config) {
|
|
// \note CMake sets this environment variable before invoking Cargo so
|
|
// that it can direct the generated header file into its
|
|
// out-of-source build directory for post-processing.
|
|
if let Ok(target_dir) = env::var("CARGO_TARGET_DIR") {
|
|
writer.write_to_file(PathBuf::from(target_dir).join("automerge.h"));
|
|
}
|
|
}
|
|
}
|