mirror of
https://github.com/Xevion/Pac-Man.git
synced 2025-12-05 23:15:40 -06:00
Adds cargo-vcpkg step alongside manual vcpkg for macOS to determine if the fix is due to using manual vcpkg or simply upgrading to vcpkg 2025.10.17. Both methods will run to compare behavior. - Updated vcpkg baseline from 2024.11.16 to 2025.10.17 - Restored macOS triplets in Cargo.toml - Added duplicate cargo-vcpkg step for macOS builds
96 lines
3.5 KiB
TOML
96 lines
3.5 KiB
TOML
[package]
|
|
name = "pacman"
|
|
version = "0.81.1"
|
|
authors.workspace = true
|
|
edition.workspace = true
|
|
rust-version = "1.86.0"
|
|
description = "A cross-platform retro Pac-Man clone, written in Rust and supported by SDL2"
|
|
readme.workspace = true
|
|
homepage.workspace = true
|
|
repository.workspace = true
|
|
license.workspace = true
|
|
keywords.workspace = true
|
|
categories.workspace = true
|
|
publish.workspace = true
|
|
exclude = ["/assets/unpacked/**", "/assets/site/**", "/bacon.toml", "/Justfile"]
|
|
default-run = "pacman"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[dependencies]
|
|
bevy_ecs = "0.16.1"
|
|
glam = "0.30.5"
|
|
pathfinding = "4.14"
|
|
tracing = { version = "0.1.41", features = ["max_level_trace", "release_max_level_debug"]}
|
|
tracing-error = "0.2.0"
|
|
tracing-subscriber = {version = "0.3.20", features = ["env-filter"]}
|
|
time = { version = "0.3.43", features = ["formatting", "macros"] }
|
|
thiserror = "2.0.16"
|
|
anyhow = "1.0"
|
|
smallvec = "1.15.1"
|
|
bitflags = "2.9.4"
|
|
micromap = "0.1.0"
|
|
circular-buffer = "=1.1.0"
|
|
parking_lot = "0.12.3"
|
|
strum = "0.27.2"
|
|
strum_macros = "0.27.2"
|
|
thousands = "0.2.0"
|
|
num-width = "0.1.0"
|
|
# While not actively used in code, `build.rs` generates code that relies on this. Keep the versions synchronized.
|
|
phf = { version = "0.13.1", features = ["macros"] }
|
|
|
|
# Windows-specific dependencies
|
|
[target.'cfg(windows)'.dependencies]
|
|
# Used for customizing console output on Windows; both are required due to the `windows` crate having poor Result handling with `GetStdHandle`.
|
|
windows = { version = "0.62.0", features = ["Win32_Security", "Win32_Storage_FileSystem", "Win32_System_Console"] }
|
|
windows-sys = { version = "0.61.0", features = ["Win32_System_Console"] }
|
|
|
|
# Desktop-specific dependencies
|
|
[target.'cfg(not(target_os = "emscripten"))'.dependencies]
|
|
# On desktop platforms, build SDL2 with cargo-vcpkg
|
|
sdl2 = { version = "0.38", default-features = false, features = ["image", "ttf", "gfx", "mixer", "unsafe_textures", "static-link", "use-vcpkg"] }
|
|
rand = { version = "0.9.2", default-features = false, features = ["thread_rng"] }
|
|
rust-embed = "8.7.2"
|
|
spin_sleep = "1.3.3"
|
|
|
|
# Browser-specific dependencies
|
|
[target.'cfg(target_os = "emscripten")'.dependencies]
|
|
# On Emscripten, we don't use cargo-vcpkg
|
|
sdl2 = { version = "0.38", default-features = false, features = ["image", "ttf", "gfx", "mixer", "unsafe_textures"] }
|
|
# TODO: Document why Emscripten cannot use `os_rng`.
|
|
rand = { version = "0.9.2", default-features = false, features = ["small_rng", "os_rng"] }
|
|
libc = "0.2.175" # TODO: Describe why this is required.
|
|
|
|
[dev-dependencies]
|
|
pretty_assertions = "1.4.1"
|
|
speculoos = "0.13.0"
|
|
|
|
[build-dependencies]
|
|
phf = { version = "0.13.1", features = ["macros"] }
|
|
serde = { version = "1.0.225", features = ["derive"] }
|
|
serde_json = "1.0.145"
|
|
|
|
# phf generates runtime code which machete will not detect
|
|
[package.metadata.cargo-machete]
|
|
ignored = ["phf"]
|
|
|
|
|
|
[package.metadata.vcpkg]
|
|
dependencies = ["sdl2", "sdl2-image", "sdl2-ttf", "sdl2-gfx", "sdl2-mixer"]
|
|
git = "https://github.com/microsoft/vcpkg"
|
|
rev = "2025.10.17" # to check for a new one, check https://github.com/microsoft/vcpkg/releases
|
|
|
|
[package.metadata.vcpkg.target]
|
|
x86_64-pc-windows-msvc = { triplet = "x64-windows-static-md" }
|
|
x86_64-unknown-linux-gnu = { triplet = "x64-linux" }
|
|
x86_64-apple-darwin = { triplet = "x64-osx" }
|
|
aarch64-apple-darwin = { triplet = "arm64-osx" }
|
|
|
|
[features]
|
|
# Windows-specific features
|
|
force-console = []
|
|
default = []
|
|
|
|
[lints.rust]
|
|
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(coverage,coverage_nightly)', 'cfg(use_console)'] }
|