cpp_to_rust_build_tools
=======================
Build script implementation for C++ library wrappers.
[Online documentation](https://rust-qt.github.io/rustdoc/cpp_to_rust/cpp_to_rust_build_tools)
Crates generated by [cpp_to_rust_generator](https://github.com/rust-qt/cpp_to_rust/tree/master/cpp_to_rust/cpp_to_rust_generator) require multiple custom build operations:
- Apply extra build configuration passed via environment variables (`CPP_TO_RUST_LIB_PATHS`, `CPP_TO_RUST_FRAMEWORK_PATHS`, `CPP_TO_RUST_INCLUDE_PATHS`);
- Select active build configuration based on current target;
- Build the C++ wrapper library;
- Generate `ffi.rs` file with actual linking attributes;
- Determine sizes of C++ types with stack allocation place;
- Print `cargo` attributes required for linking the crate.
It appears a common task to perform other custom operations in the build script, so all the above operations are implemented as a separate crate (`cpp_to_rust_build_tools`) which is used as build dependency of the default generated build script. If a custom build script is defined, it should use this crate's API to perform the necessary build operations.
See [README](https://github.com/rust-qt/cpp_to_rust) of the repository root for more information about other parts of the project.