[package] name = "godot-ffi" version = "0.1.1" edition = "2021" rust-version = "1.78" license = "MPL-2.0" keywords = ["gamedev", "godot", "engine", "ffi"] categories = ["game-engines", "graphics"] description = "Internal crate used by godot-rust" repository = "https://github.com/godot-rust/gdext" homepage = "https://godot-rust.github.io" [features] codegen-rustfmt = ["godot-codegen/codegen-rustfmt"] codegen-lazy-fptrs = ["godot-codegen/codegen-lazy-fptrs"] experimental-godot-api = ["godot-codegen/experimental-godot-api"] experimental-threads = [] debug-log = [] api-custom = ["godot-bindings/api-custom"] # [version-sync] [[ # [line] api-$kebabVersion = ["godot-bindings/api-$kebabVersion"] api-4-0 = ["godot-bindings/api-4-0"] api-4-0-1 = ["godot-bindings/api-4-0-1"] api-4-0-2 = ["godot-bindings/api-4-0-2"] api-4-0-3 = ["godot-bindings/api-4-0-3"] api-4-0-4 = ["godot-bindings/api-4-0-4"] api-4-1 = ["godot-bindings/api-4-1"] api-4-1-1 = ["godot-bindings/api-4-1-1"] api-4-1-2 = ["godot-bindings/api-4-1-2"] api-4-1-3 = ["godot-bindings/api-4-1-3"] api-4-1-4 = ["godot-bindings/api-4-1-4"] api-4-2 = ["godot-bindings/api-4-2"] api-4-2-1 = ["godot-bindings/api-4-2-1"] api-4-2-2 = ["godot-bindings/api-4-2-2"] # ]] # TODO: get rid of paste and gensym, they are trivially implementable with proc-macros. Update cargo-deny. # Especially gensym which pulls in entire syn for 10 LoC. See https://github.com/regiontog/gensym/blob/master/src/lib.rs. # Might however require godot-ffi to depend on godot-macro, which is not ideal... [dependencies] paste = "1" [target.'cfg(target_os = "linux")'.dependencies] libc = "0.2.153" [target.'cfg(target_family = "wasm")'.dependencies] gensym = "0.1.1" [build-dependencies] godot-bindings = { path = "../godot-bindings", version = "=0.1.1" } godot-codegen = { path = "../godot-codegen", version = "=0.1.1" } # https://docs.rs/about/metadata [package.metadata.docs.rs] features = ["experimental-godot-api"] rustdoc-args = ["--cfg", "published_docs"] # Currently causes "unused manifest key" warnings. Maybe re-enable in the future, to make `published_docs` known. #[lints.rust] #unexpected_cfgs = { level = "warn", check-cfg = ['cfg(published_docs)'] }