mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-14 03:58:18 +00:00
dcd76fd3e1
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 ```
115 lines
2.5 KiB
TOML
115 lines
2.5 KiB
TOML
# This file is automatically @generated by Cargo.
|
|
# It is not intended for manual editing.
|
|
version = 3
|
|
|
|
[[package]]
|
|
name = "cc"
|
|
version = "1.0.73"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
|
|
|
|
[[package]]
|
|
name = "cxx"
|
|
version = "1.0.71"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "5469a6f42296f4fd40789b397383718f9a0bd75d2f9b7cedbb249996811fba27"
|
|
dependencies = [
|
|
"cc",
|
|
"cxxbridge-flags",
|
|
"cxxbridge-macro",
|
|
"link-cplusplus",
|
|
]
|
|
|
|
[[package]]
|
|
name = "cxxbridge-flags"
|
|
version = "1.0.71"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "0fef2b4ffdc935c973bc7817d541fc936fdc8a85194cfdd9c761aca8387edd48"
|
|
|
|
[[package]]
|
|
name = "cxxbridge-macro"
|
|
version = "1.0.71"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "9d3a240a54f5526967ffae81fdcda1fc80564964220d90816960b2eae2eab7f4"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
"syn",
|
|
]
|
|
|
|
[[package]]
|
|
name = "ddnet-base"
|
|
version = "0.0.1"
|
|
dependencies = [
|
|
"cxx",
|
|
"ddnet-test",
|
|
]
|
|
|
|
[[package]]
|
|
name = "ddnet-engine"
|
|
version = "0.0.1"
|
|
dependencies = [
|
|
"cxx",
|
|
"ddnet-base",
|
|
"ddnet-engine-shared",
|
|
"ddnet-test",
|
|
]
|
|
|
|
[[package]]
|
|
name = "ddnet-engine-shared"
|
|
version = "0.0.1"
|
|
dependencies = [
|
|
"cxx",
|
|
"ddnet-base",
|
|
"ddnet-engine",
|
|
"ddnet-test",
|
|
]
|
|
|
|
[[package]]
|
|
name = "ddnet-test"
|
|
version = "0.0.1"
|
|
|
|
[[package]]
|
|
name = "link-cplusplus"
|
|
version = "1.0.6"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "f8cae2cd7ba2f3f63938b9c724475dfb7b9861b545a90324476324ed21dbc8c8"
|
|
dependencies = [
|
|
"cc",
|
|
]
|
|
|
|
[[package]]
|
|
name = "proc-macro2"
|
|
version = "1.0.40"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7"
|
|
dependencies = [
|
|
"unicode-ident",
|
|
]
|
|
|
|
[[package]]
|
|
name = "quote"
|
|
version = "1.0.20"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
]
|
|
|
|
[[package]]
|
|
name = "syn"
|
|
version = "1.0.98"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
"unicode-ident",
|
|
]
|
|
|
|
[[package]]
|
|
name = "unicode-ident"
|
|
version = "1.0.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c"
|