mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-10 18:18:18 +00:00
b21ba35225
5599: Add support for Rust code in DDNet r=def- a=heinrich5991 The glue is done using the [cxx crate](https://cxx.rs/) on the Rust side. As a proof-of-concept, only a small console command (`rust_version`) printing the currently used Rust version was added. You can generate and open the Rust documentation using `DDNET_TEST_NO_LINK=1 cargo doc --open`. You can run the Rust tests using `cmake --build <build dir> --target run_rust_tests`, they're automatically included in the `run_tests` target as well. Rust tests don't work on Windows in debug mode on Windows because Rust cannot currently link with the debug version of the C stdlib on Windows: https://github.com/rust-lang/rust/issues/39016. --- The stuff in `src/rust-bridge` is generated using ``` cxxbridge src/engine/shared/rust_version.rs --output src/rust-bridge/engine/shared/rust_version.cpp --output src/rust-bridge/engine/shared/rust_version.h cxxbridge src/engine/console.rs --output src/rust-bridge/cpp/console.cpp --output src/rust-bridge/cpp/console.h ``` Co-authored-by: heinrich5991 <heinrich5991@gmail.com> |
||
---|---|---|
.. | ||
client | ||
docs | ||
external | ||
gfx | ||
server | ||
shared | ||
antibot.h | ||
Cargo.toml | ||
client.h | ||
config.h | ||
console.h | ||
console.rs | ||
demo.h | ||
discord.h | ||
editor.h | ||
engine.h | ||
favorites.h | ||
friends.h | ||
ghost.h | ||
graphics.h | ||
input.h | ||
kernel.h | ||
keys.h | ||
lib.rs | ||
map.h | ||
message.h | ||
rust.h | ||
server.h | ||
serverbrowser.h | ||
sound.h | ||
sqlite.h | ||
steam.h | ||
storage.h | ||
textrender.h | ||
updater.h | ||
uuid.h | ||
warning.h |