[package] authors = ["Luke Petherbridge "] categories = [ "game-development", "game-engines", "graphics", "gui", "rendering", ] description = "A cross-platform graphics/UI engine framework for simple games, visualizations, and graphics demos." documentation = "https://docs.rs/pix-engine" edition = "2021" keywords = ["game", "engine", "graphics", "ui", "rendering"] license = "MIT OR Apache-2.0" name = "pix-engine" repository = "https://github.com/lukexor/pix-engine.git" resolver = "2" version = "0.8.0" exclude = ["/images", "/audio", "/pkg"] build = "build.rs" [package.metadata] msrv = "1.67.0" [package.metadata.docs.rs] features = ["serde"] targets = [ "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-pc-windows-msvc", ] [lib] crate-type = ["cdylib", "rlib"] [dependencies] anyhow = "1.0" bitflags = "2.4" time = { version = "0.3", features = ["local-offset"] } log = "0.4" lru = "0.12" num-traits = "0.2" once_cell = "1.17" png = "0.17" rand = "0.8" serde = { version = "1.0", features = ["derive"], optional = true } thiserror = "1.0" [target.'cfg(target_arch = "wasm32")'.dependencies] # https://docs.rs/getrandom/latest/getrandom/#webassembly-support getrandom = { version = "0.2", features = ["js"] } [dev-dependencies] rayon = "1.7" pretty_env_logger = "0.5" [dev-dependencies.cargo-husky] version = "1.5" default-features = false features = ["user-hooks"] [features] default = [] opengl = [] # TODO: `backtrace` feature can be removed when `Backtrace` lands in stable https://github.com/rust-lang/rust/issues/53487 backtrace = ["anyhow/backtrace"] debug_ui = [] serde = ["dep:serde", "bitflags/serde"] [target."cfg(not(target_arch = \"wasm32\"))".dependencies] sdl2 = { version = "0.35", default_features = false, features = [ "gfx", "image", "mixer", "ttf", "unsafe_textures", ] } # Reasonable performance for development [profile.dev-opt] inherits = "dev" opt-level = 2 [profile.release] codegen-units = 1 lto = true # The profile that 'cargo dist' will build with [profile.dist] inherits = "release" lto = "thin" # Config for 'cargo dist' [workspace.metadata.dist] # The preferred cargo-dist version to use in CI (Cargo.toml SemVer syntax) cargo-dist-version = "0.4.0" # CI backends to support ci = ["github"] # The installers to generate for each app installers = ["shell", "powershell"] # Target platforms to build apps for (Rust target-triple syntax) targets = ["x86_64-unknown-linux-gnu", "aarch64-apple-darwin", "x86_64-apple-darwin", "x86_64-pc-windows-msvc"] # Publish jobs to run in CI pr-run-mode = "upload"