# 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.69.0"
name = "ctrlc"
version = "3.4.4"
authors = ["Antti Keränen <detegr@gmail.com>"]
exclude = [
    "/.travis.yml",
    "/appveyor.yml",
]
description = "Easy Ctrl-C handler for Rust projects"
homepage = "https://github.com/Detegr/rust-ctrlc"
documentation = "https://detegr.github.io/doc/ctrlc"
readme = "README.md"
keywords = [
    "ctrlc",
    "signal",
    "SIGINT",
]
categories = ["os"]
license = "MIT/Apache-2.0"
repository = "https://github.com/Detegr/rust-ctrlc.git"

[[test]]
name = "main"
path = "tests/main/mod.rs"
harness = false

[[test]]
name = "issue_97"
path = "tests/main/issue_97.rs"
harness = false

[dev-dependencies.signal-hook]
version = "0.3"

[features]
termination = []

[target."cfg(unix)".dependencies.nix]
version = "0.28"
features = [
    "fs",
    "signal",
]
default-features = false

[target."cfg(windows)".dependencies.windows-sys]
version = "0.52"
features = [
    "Win32_Foundation",
    "Win32_System_Threading",
    "Win32_Security",
    "Win32_System_Console",
]

[target."cfg(windows)".dev-dependencies.windows-sys]
version = "0.52"
features = [
    "Win32_Storage_FileSystem",
    "Win32_Foundation",
    "Win32_System_IO",
    "Win32_System_Console",
]

[badges.maintenance]
status = "passively-maintained"
