td-rs
td-rs copied to clipboard
Inclusion of Rust crates can sometimes cause linker errors when building plugin
If a Rust crate links against system deps or otherwise symbols that aren't included in our final C++ build, we'll get errors. This is easy to do for anything that includes a hiddden *-sys crate somewhere in its deps. We should provide a way to specify platform specific extra lib deps to be linked during our build, likely adding some fields to the td-rs.metadata Cargo.toml field. Unfortunately, this is a bit harder to handle in a generic way on macOS, since the xcode file format requires messing with XML data. On windows, we can just include additional build params that specify extra paths and lib names.