godot-bindings 0.2.2

Internal crate used by godot-rust
[package]
name = "godot-bindings"
version = "0.2.2"
edition = "2021"
rust-version = "1.80"
license = "MPL-2.0"
keywords = ["gamedev", "godot", "engine", "ffi", "sys"]
categories = ["game-engines", "graphics"]
description = "Internal crate used by godot-rust"
repository = "https://github.com/godot-rust/gdext"
homepage = "https://godot-rust.github.io"

# Since features are additive, and we want the user to user prebuilt by default, we need to have `prebuilt-godot` as the
# default feature. However, it's not possible to _disable_ the prebuilt dependency when specifying `api-custom` (without
# requiring no-default-features), so we unfortunately still need to depend on prebuilt and just ignore it.
# The artifact generator explicitly excludes that though (to avoid a quasi-circular dependency back to its repo).
[features]
experimental-wasm-nothreads = []

# [version-sync] [[
#  [line] api-$kebabVersion = []
api-4-1 = []
api-4-1-1 = []
api-4-1-2 = []
api-4-1-3 = []
api-4-1-4 = []
api-4-2 = []
api-4-2-1 = []
api-4-2-2 = []
api-4-3 = []
# ]]

default = []

api-custom = ["dep:bindgen", "dep:regex", "dep:which"]
api-custom-extheader = []

[dependencies]
gdextension-api = { version = "0.2.1", git = "https://github.com/godot-rust/godot4-prebuilt", branch = "releases" }

# Do not use bindgen 0.69, it contains regression that forces recompilation of code.
bindgen = { optional = true, version = "0.68", default-features = false, features = ["runtime"] }
# regex >= 1.5.5 for security: https://blog.rust-lang.org/2022/03/08/cve-2022-24713.html
# 'unicode-gencat' needed for \d, see: https://docs.rs/regex/1.5.5/regex/#unicode-features
regex = { optional = true, version = "1.5.5", default-features = false, features = ["std", "unicode-gencat"] }
which = { optional = true, version = "6" }

[dev-dependencies]
# For tests, we need regex unconditionally. Keep this in sync with above dependency.
regex = { version = "1.5.5", default-features = false, features = ["std", "unicode-gencat"] }

# 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)'] }