anki/qt/bundle/Cargo.toml
Damien Elmes c6f429ab17 Add option to use LTO in release builds
Shrinks rslib.so from about 40MB to about 26MB, at the cost of considerably
higher build time in a release build.
2023-07-02 18:22:44 +10:00

61 lines
1.5 KiB
TOML

[package]
name = "anki"
version = "0.0.0"
authors = ["Ankitects Pty Ltd and contributors <https://help.ankiweb.net>"]
build = "build.rs"
edition = "2021"
license = "AGPL-3.0-or-later"
publish = false
rust-version = "1.64"
[dependencies]
pyembed = { path = "./PyOxidizer/pyembed", default-features = false }
[target.'cfg(windows)'.dependencies]
winapi = { version = "0.3", features = ["wincon"] }
libc = "0.2"
libc-stdhandle = "=0.1.0"
[dependencies.jemallocator]
version = "0.5"
optional = true
[dependencies.mimalloc]
version = "0.1"
optional = true
features = ["local_dynamic_tls", "override", "secure"]
[dependencies.snmalloc-rs]
version = "0.2"
optional = true
[build-dependencies]
embed-resource = "1.6"
[features]
default = ["build-mode-standalone"]
global-allocator-jemalloc = ["jemallocator"]
global-allocator-mimalloc = ["mimalloc"]
global-allocator-snmalloc = ["snmalloc-rs"]
allocator-jemalloc = ["pyembed/allocator-jemalloc"]
allocator-mimalloc = ["pyembed/allocator-mimalloc"]
allocator-snmalloc = ["pyembed/allocator-snmalloc"]
# Build this crate in isolation, without using PyOxidizer.
build-mode-standalone = []
# Build this crate by executing a `pyoxidizer` executable to build
# required artifacts.
build-mode-pyoxidizer-exe = []
# Build this crate by reusing artifacts generated by `pyoxidizer` out-of-band.
# In this mode, the PYOXIDIZER_ARTIFACT_DIR environment variable can refer
# to the directory containing build artifacts produced by `pyoxidizer`. If not
# set, OUT_DIR will be used.
build-mode-prebuilt-artifacts = []
[profile.release]
lto = true