ddnet/scripts
bors[bot] b21ba35225
Merge #5599
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>
2022-11-06 21:40:48 +00:00
..
android Fix misspellings 2022-10-25 13:51:56 -03:00
compile_libs Fix misspellings 2022-10-25 13:51:56 -03:00
languages Fix misspellings 2022-10-25 13:51:56 -03:00
check_dilate.sh Run shellcheck over check_dilate.sh 2020-12-08 15:02:16 +01:00
check_header_guards.py Add support for Rust code in DDNet 2022-10-19 23:46:06 +02:00
check_identifiers.py Update scripts/check_identifiers.py 2022-07-27 09:37:24 +02:00
checksum.py [WIP] Require Python 3.6 (f-strings) and fix pylints 2022-07-27 09:37:24 +02:00
darwin_strip_rpath.py Support libfat directory for macOS, use arm64 libs (fixes #3250) 2021-12-20 00:17:38 +01:00
extract_identifiers.py Fix rest of pylint manually 2022-07-27 09:37:25 +02:00
fix_style.py Add support for Rust code in DDNet 2022-10-19 23:46:06 +02:00
gen_keys.py Run flynt -a 2022-07-27 09:37:24 +02:00
generate_fake_curl.py [WIP] Require Python 3.6 (f-strings) and fix pylints 2022-07-27 09:37:24 +02:00
generate_unicode_confusables_data.py [WIP] Require Python 3.6 (f-strings) and fix pylints 2022-07-27 09:37:24 +02:00
generate_unicode_tolower.py [WIP] Require Python 3.6 (f-strings) and fix pylints 2022-07-27 09:37:24 +02:00
git_revision.py [WIP] Require Python 3.6 (f-strings) and fix pylints 2022-07-27 09:37:24 +02:00
hash_passwords.py [WIP] Require Python 3.6 (f-strings) and fix pylints 2022-07-27 09:37:24 +02:00
import_file_score.py [WIP] Require Python 3.6 (f-strings) and fix pylints 2022-07-27 09:37:24 +02:00
integration_test.sh Change log format 2022-09-14 19:37:55 +02:00
move_sqlite.py Fix misspellings 2022-10-25 13:51:56 -03:00
parse_drmingw.sh Fix parse_drmingw.sh not finding module offset on Linux systems 2022-10-18 18:36:57 +02:00
SDL_scancode.h Merge swick's SDL2 branch 2016-04-29 21:55:48 +02:00
tw_api.py Run flynt -a 2022-07-27 09:37:24 +02:00
unicode.py [WIP] Require Python 3.6 (f-strings) and fix pylints 2022-07-27 09:37:24 +02:00
wordlist.py [WIP] Require Python 3.6 (f-strings) and fix pylints 2022-07-27 09:37:24 +02:00