ddnet/.gitignore
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

144 lines
1.7 KiB
Plaintext

# Ignore data-folders outside the root, these are copied around to build
# directories.
data/
!/data/
docs/
bundle/
!/other/bundle/
.DS_Store
.ninja_deps
.ninja_log
CACHEDIR.TAG
CMakeCache.txt
CMakeFiles
CMakeSettings*
CPackConfig.cmake
CPackSourceConfig.cmake
CTestTestfile.cmake
Debug
Makefile
Release
SAN.*
_CPack_Packages/
build.ninja
checksummed_*
cmake_install.cmake
debug
gmock.pc
gmock_main.pc
googletest-build/
googletest-download/
googletest-src/
gtest.pc
gtest_main.pc
install_manifest*.txt
ninja_package
pack_*/
release
rules.ninja
testrunner\[1\]_include.cmake
vulkan_shaders_sha256.txt
/SDL2.framework
# Ignore all the generated executables without extensions (for non-Windows
# systems).
DDNet
!DDNet/
DDNet-Server
DDNet-Server-Launcher
libsteam_api.a
config_retrieve
config_store
crapnet
dilate
dummy_map
fake_server
map_convert_07
map_create_pixelart
map_diff
map_extract
map_find_env
map_optimize
map_replace_area
map_replace_image
map_resave
map_version
mastersrv
packetgen
stun
testrunner
twping
unicode_confusables
uuid
versionsrv
# But we still should allow to download mastersrv/twping sources
!src/mastersrv
!src/twping
generated
target
/build*
/integration_test/*
# IDE project files
.cache
.cproject
.cmake
.idea
.project
.settings
.vs
.vscode
compile_commands.json
cmake-build-*/*
cscope.files
cscope.out
out
tags
# don't ignore this, it's used for the vscode workspace that ddnet provides
!ddnet-cmake-tools-kits.json
# bam ignores
/.bam
/config.lua
/objs
*.a
*.cmd
*.csv
*.dll
*.dmg
*.dtb
*.dylib
*.exe
*.fifo
*.filters
*.json
*.lnk
*.log
*.opensdf
*.patch
*.pdb
*.prefs
*.pyc
*.res
*.sdf
*.sln
*.so
*.sqlite
*.suo
*.swp
*.tar.gz
*.tar.xz
*.teehistorian
*.tmp
*.user
*.vcxproj
*.zip