# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.85.0"
name = "wdk-build"
version = "0.5.1"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A library to configure a Cargo build script for binding generation and downstream linking of the WDK (Windows Driver Kit)"
readme = "README.md"
keywords = [
    "wdk",
    "windows",
    "build-dependencies",
]
categories = [
    "development-tools::build-utils",
    "development-tools::ffi",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/microsoft/windows-drivers-rs"

[package.metadata.cargo-machete]
ignored = ["regex"]

[features]
nightly = []

[lib]
name = "wdk_build"
path = "src/lib.rs"

[dependencies.anyhow]
version = "1.0.97"

[dependencies.bindgen]
version = "0.72"

[dependencies.camino]
version = "1.1.9"

[dependencies.cargo_metadata]
version = "0.19.2"

[dependencies.cfg-if]
version = "1.0.3"

[dependencies.clap]
version = "4.5.40"
features = ["derive"]

[dependencies.clap-cargo]
version = "0.15.2"

[dependencies.paste]
version = "1.0.15"

[dependencies.regex]
version = "1.11.1"
features = ["unicode-case"]

[dependencies.rustversion]
version = "1.0.20"

[dependencies.semver]
version = "1.0.26"

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.serde_json]
version = "1.0"

[dependencies.thiserror]
version = "2.0.12"

[dependencies.tracing]
version = "0.1.40"

[dependencies.windows]
version = "0.58.0"
features = [
    "Win32_Foundation",
    "Win32_System_Registry",
]

[dev-dependencies.assert_fs]
version = "1.1.3"

[dev-dependencies.windows]
version = "0.58.0"
features = ["Win32_UI_Shell"]

[build-dependencies.rustversion]
version = "1.0.20"

[lints.clippy]
all = "deny"
cargo = "warn"
multiple_unsafe_ops_per_block = "deny"
nursery = "warn"
pedantic = "warn"
undocumented_unsafe_blocks = "deny"
unnecessary_safety_doc = "deny"

[lints.rust]
missing_docs = "warn"
unsafe_op_in_unsafe_fn = "forbid"

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
    "cfg(wdk_build_unstable)",
    "cfg(skip_umdf_static_crt_check)",
]

[lints.rustdoc]
bare_urls = "warn"
broken_intra_doc_links = "warn"
invalid_codeblock_attributes = "warn"
invalid_html_tags = "warn"
invalid_rust_codeblocks = "warn"
missing_crate_level_docs = "warn"
private_intra_doc_links = "warn"
redundant_explicit_links = "warn"
unescaped_backticks = "warn"
