# 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 = "2021"
rust-version = "1.56"
name = "windows-targets"
version = "0.52.4"
authors = ["Microsoft"]
description = "Import libs for Windows"
readme = "readme.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/microsoft/windows-rs"

[target.aarch64-pc-windows-gnullvm.dependencies.windows_aarch64_gnullvm]
version = "0.52.4"

[target."cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))".dependencies.windows_aarch64_msvc]
version = "0.52.4"

[target."cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(windows_raw_dylib)))".dependencies.windows_i686_gnu]
version = "0.52.4"

[target."cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))".dependencies.windows_i686_msvc]
version = "0.52.4"

[target."cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))".dependencies.windows_x86_64_gnu]
version = "0.52.4"

[target."cfg(all(target_arch = \"x86_64\", target_env = \"msvc\", not(windows_raw_dylib)))".dependencies.windows_x86_64_msvc]
version = "0.52.4"

[target.x86_64-pc-windows-gnullvm.dependencies.windows_x86_64_gnullvm]
version = "0.52.4"

[lints.rust]
missing_docs = "warn"
rust_2018_idioms = "warn"
unused_qualifications = "warn"
