Files
Cagire/Cargo.toml

100 lines
2.4 KiB
TOML

[workspace]
members = ["crates/forth", "crates/markdown", "crates/project", "crates/ratatui"]
[workspace.package]
version = "0.0.9"
edition = "2021"
authors = ["Raphaël Forment <raphael.forment@gmail.com>"]
license = "AGPL-3.0"
repository = "https://github.com/Bubobubobubobubo/cagire"
homepage = "https://cagire.raphaelforment.fr"
description = "Forth-based live coding music sequencer"
[package]
name = "cagire"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description.workspace = true
[lib]
name = "cagire"
path = "src/lib.rs"
[[bin]]
name = "cagire"
path = "src/main.rs"
[[bin]]
name = "cagire-desktop"
path = "src/bin/desktop.rs"
required-features = ["desktop"]
[features]
default = []
desktop = [
"cagire-forth/desktop",
"dep:egui",
"dep:eframe",
"dep:egui_ratatui",
"dep:soft_ratatui",
"dep:image",
]
[dependencies]
cagire-forth = { path = "crates/forth" }
cagire-markdown = { path = "crates/markdown" }
cagire-project = { path = "crates/project" }
cagire-ratatui = { path = "crates/ratatui" }
doux = { path = "/Users/bubo/doux", features = ["native"] }
rusty_link = "0.4"
ratatui = "0.30"
crossterm = "0.29"
cpal = { version = "0.17", features = ["jack"] }
clap = { version = "4", features = ["derive"] }
rand = "0.8"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tachyonfx = { version = "0.22", features = ["std-duration"] }
tui-big-text = "0.8"
arboard = "3"
minimad = "0.13"
crossbeam-channel = "0.5"
confy = "2"
rustfft = "6"
thread-priority = "1"
ringbuf = "0.4"
arc-swap = "1"
midir = "0.10"
parking_lot = "0.12"
libc = "0.2"
# Desktop-only dependencies (behind feature flag)
egui = { version = "0.33", optional = true }
eframe = { version = "0.33", optional = true }
egui_ratatui = { version = "2.1", optional = true }
soft_ratatui = { version = "0.1.3", features = ["unicodefonts"], optional = true }
image = { version = "0.25", default-features = false, features = ["png"], optional = true }
[target.'cfg(windows)'.build-dependencies]
winres = "0.1"
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
panic = "abort"
strip = true
[package.metadata.bundle.bin.cagire-desktop]
name = "Cagire"
identifier = "com.sova.cagire"
icon = ["assets/Cagire.icns", "assets/Cagire.ico", "assets/Cagire.png"]
copyright = "Copyright (c) 2025 Raphaël Forment"
category = "Music"
short_description = "Forth-based music sequencer"