Crate cxx_build[−][src]
The CXX code generator for constructing and compiling C++ code.
This is intended to be used from Cargo build scripts to execute CXX's C++ code generator, set up any additional compiler flags depending on the use case, and make the C++ compiler invocation.
Example
Example of a canonical Cargo build script that builds a CXX bridge:
// build.rs fn main() { cxx_build::bridge("src/main.rs") .file("src/demo.cc") .flag_if_supported("-std=c++11") .compile("cxxbridge-demo"); println!("cargo:rerun-if-changed=src/main.rs"); println!("cargo:rerun-if-changed=src/demo.cc"); println!("cargo:rerun-if-changed=include/demo.h"); }
A runnable working setup with this build script is shown in the demo directory of https://github.com/dtolnay/cxx.
Alternatives
For use in non-Cargo builds like Bazel or Buck, CXX provides an
alternate way of invoking the C++ code generator as a standalone command
line tool. The tool is packaged as the cxxbridge-cmd
crate.
$ cargo install cxxbridge-cmd # or build it from the repo
$ cxxbridge src/main.rs --header > path/to/mybridge.h
$ cxxbridge src/main.rs > path/to/mybridge.cc
Structs
Cfg | Build configuration. See CFG. |
Statics
CFG | Global configuration of the current build. |
Functions
bridge | This returns a |
bridges |
|