[package]
edition = "2021"
rust-version = "1.70"
name = "win-icon-extractor"
version = "0.2.0"
build = false
exclude = ["test_output/"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Extract file icons on Windows — pure Rust, no C dependency"
readme = "README.md"
keywords = [
"windows",
"icon",
"extract",
"webp",
"png",
]
categories = [
"os::windows-apis",
"multimedia::images",
]
license = "AGPL-3.0-only"
repository = "https://github.com/jinghu-moon/win-icon-extractor"
[package.metadata.docs.rs]
default-target = "x86_64-pc-windows-msvc"
targets = ["x86_64-pc-windows-msvc"]
[features]
bulk = ["dep:rayon"]
cache = [
"dep:dashmap",
"dep:xxhash-rust",
]
default = [
"webp",
"cache",
"bulk",
]
png = ["dep:miniz_oxide"]
webp = ["dep:libwebp-sys"]
[lib]
name = "win_icon_extractor"
path = "src/lib.rs"
[[example]]
name = "bench"
path = "examples/bench.rs"
[[example]]
name = "bench_new_api"
path = "examples/bench_new_api.rs"
[[example]]
name = "test_aida64"
path = "examples/test_aida64.rs"
[[example]]
name = "test_loopback"
path = "examples/test_loopback.rs"
[[example]]
name = "test_new_api"
path = "examples/test_new_api.rs"
[dependencies.dashmap]
version = "6"
optional = true
[dependencies.libwebp-sys]
version = "0.9"
optional = true
[dependencies.miniz_oxide]
version = "0.8"
optional = true
[dependencies.rayon]
version = "1"
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.windows]
version = "0.58"
features = [
"Win32_Foundation",
"Win32_UI_Shell",
"Win32_UI_WindowsAndMessaging",
"Win32_Graphics_Gdi",
"Win32_Storage_FileSystem",
"Win32_System_LibraryLoader",
]
[dependencies.xxhash-rust]
version = "0.8"
features = ["xxh3"]
optional = true