[package] name = "catgirl-engine" description = "A game engine for cool moddability and procedurally generated data" license = "Zlib" version = "0.12.52" # https://semver.org (Do not use 1.0.0 until first production release) keywords = ["catgirl", "engine", "gamedev", "game"] categories = ["game-engines"] repository = "https://github.com/lexi-the-cute/catgirl-engine.git" documentation = "https://docs.rs/catgirl-engine" homepage = "https://github.com/lexi-the-cute/catgirl-engine" readme = "ReadMe.md" authors = ["Alexis <@alexis@foxgirl.land>"] # <@user@server> is a Fedi Address edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [lib] name = "main" crate-type = ["cdylib", "rlib"] # cdylib - C Compatible Lib, rlib - Rust Lib # Optimize for faster build times [profile.dev] lto = false debug = true opt-level = 0 incremental = true codegen-units = 256 # Optimize for speed and remove debug information for size [profile.release] lto = true debug = false # Setting to false significantly reduces code size (last test was 286 MB to 13 MB) opt-level = 3 incremental = false [features] default = ["client", "server"] # Features which are enabled by default client = ["dep:client"] # Enables the client side code server = ["dep:server"] # Enables the server side code tracing-subscriber = ["dep:tracing-subscriber"] # Modifies the logging output format appimage = ["utils/appimage", "client/appimage"] # Used to enable AppImage specific features no_lint = ["utils/no_lint"] # Tells rust-analyzer to can it with false warnings when workspace config is used # Used for customizing building of docs.rs binary [package.metadata.docs.rs] features = ["default"] rustdoc-args = ["--document-private-items", "--default-theme=ayu"] default-target = "x86_64-unknown-linux-gnu" targets = ["x86_64-unknown-linux-gnu", "x86_64-pc-windows-gnu", "wasm32-unknown-unknown", "aarch64-linux-android", "armv7-linux-androideabi", "i686-linux-android", "x86_64-linux-android"] [workspace] members = [ "utils", "client", "server" ] [lints.clippy] missing_docs_in_private_items = "warn" pedantic = { level = "warn", priority = -1 } similar_names = "allow" module_name_repetitions = "allow" needless_pass_by_value = "allow" too_many_lines = "allow" unused_self = "allow" struct_excessive_bools = "allow" [package.metadata.appimage] assets = ["client/assets", "target/binding"] icon = "client/assets/vanilla/texture/logo/logo.png" desktop_file = "catgirl-engine.desktop" startup_wm_class = "catgirl-engine" args = ["--sign"] # "-u", "gh-releases-zsync|lexi-the-cute|catgirl-engine|latest|*.zsync" auto_link = true auto_link_exclude_list = [ "libc.so*", "libm.so*", "libgcc*.so*", "ld-linux*.so*", "libpthread.so*", "libdl.so*" ] [build-dependencies] build-info-build = { version = "^0.0.36", default-features = false } cc = { version = "~1.0", default-features = false } cbindgen = { version = "~0", default-features = false } [dependencies] utils = { version = "0.12.52", package = "catgirl-engine-utils", path = "utils" } client = { version = "0.12.52", package = "catgirl-engine-client", path = "client", optional = true } server = { version = "0.12.52", package = "catgirl-engine-server", path = "server", optional = true } build-info = { version = "^0.0.36", default-features = false, features = ["runtime"] } cfg-if = { version = "~1", default-features = false } wasm-bindgen = { version = "~0.2", default-features = true } pretty_env_logger = { version = "~0", default-features = false } tracing = { version = "~0.1", default-features = false, features = ["log"] } tracing-subscriber = { version = "~0.3", default-features = false, features = ["fmt", "ansi", "env-filter"], optional = true } clap = { version = "~4", features = ["derive"] } [target.'cfg(target_os="android")'.dependencies] android_logger = { version = "~0.13", default-features = false } winit = { version = "~0.29", default-features = false, features = ["android-game-activity"] } [target.'cfg(target_family="wasm")'.dependencies] console_error_panic_hook = { version = "~0.1", default-features = false } console_log = { version = "~1", default-features = false } wasm-bindgen-futures = { version = "^0.4.40", default-features = false } web-sys = { version = "~0.3", default-features = false, features = ["Document", "Window", "Element"] } getrandom = { version = "~0.2", default-features = false, features = ["js"] } fern = { version = "~0.6", default-features = false }