cxx 1.0.133

Safe interop between Rust and C++
Documentation
[package]
name = "cxx"
version = "1.0.133"
authors = ["David Tolnay <dtolnay@gmail.com>"]
categories = ["development-tools::ffi", "api-bindings", "no-std"]
description = "Safe interop between Rust and C++"
documentation = "https://docs.rs/cxx"
edition = "2021"
exclude = ["/demo", "/gen", "/syntax", "/third-party", "/tools/buck/prelude"]
homepage = "https://cxx.rs"
keywords = ["ffi", "c++"]
license = "MIT OR Apache-2.0"
links = "cxxbridge1"
repository = "https://github.com/dtolnay/cxx"
rust-version = "1.73"

[features]
default = ["std", "cxxbridge-flags/default"] # c++11
"c++14" = ["cxxbridge-flags/c++14"]
"c++17" = ["cxxbridge-flags/c++17"]
"c++20" = ["cxxbridge-flags/c++20"]
alloc = []
std = ["alloc", "foldhash/std"]

[dependencies]
cxxbridge-macro = { version = "=1.0.133", path = "macro" }
foldhash = { version = "0.1", default-features = false }
link-cplusplus = "1.0.9"

[build-dependencies]
cc = "1.0.83"
cxxbridge-flags = { version = "=1.0.133", path = "flags", default-features = false }

[dev-dependencies]
cxx-build = { version = "=1.0.133", path = "gen/build" }
cxx-gen = { version = "0.7", path = "gen/lib" }
cxx-test-suite = { version = "0", path = "tests/ffi" }
rustversion = "1.0.13"
trybuild = { version = "1.0.81", features = ["diff"] }

# Disallow incompatible cxxbridge-cmd version appearing in the same lockfile.
[target.'cfg(any())'.build-dependencies]
cxxbridge-cmd = { version = "=1.0.133", path = "gen/cmd" }

[lib]
doc-scrape-examples = false

[workspace]
members = ["demo", "flags", "gen/build", "gen/cmd", "gen/lib", "macro", "tests/ffi"]

[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
rustdoc-args = ["--generate-link-to-definition"]

[package.metadata.bazel]
additive_build_file_content = """
cc_library(
    name = "cxx_cc",
    srcs = ["src/cxx.cc"],
    hdrs = ["include/cxx.h"],
    include_prefix = "rust",
    includes = ["include"],
    linkstatic = True,
    strip_include_prefix = "include",
    visibility = ["//visibility:public"],
)
"""
deps = [":cxx_cc"]
extra_aliased_targets = { cxx_cc = "cxx_cc" }
gen_build_script = false

[patch.crates-io]
cxx = { path = "." }
cxx-build = { path = "gen/build" }