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.
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
*-syscrate 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 thetd-rs.metadataCargo.tomlfield. 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.