Feat: trying to improve bundling and compilation
This commit is contained in:
@@ -5,6 +5,7 @@ All notable changes to this project will be documented in this file.
|
|||||||
## [0.0.8] - 2026-06-05
|
## [0.0.8] - 2026-06-05
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
- Proper desktop app icon and metadata across all platforms: moved icon to `assets/Cagire.png`, added Windows `.exe` icon and file properties embedding via `winres` build script, added PNG to cargo-bundle icon list for Linux `.deb` packaging.
|
||||||
- Universal macOS `.pkg` installer in CI: combines Intel and Apple Silicon builds into fat binaries via `lipo`, then packages `Cagire.app` and CLI into a single `.pkg` installer. Releases now include `cagire-macos-universal`, `cagire-macos-universal-desktop.app.zip`, and `Cagire-<version>-universal.pkg`.
|
- Universal macOS `.pkg` installer in CI: combines Intel and Apple Silicon builds into fat binaries via `lipo`, then packages `Cagire.app` and CLI into a single `.pkg` installer. Releases now include `cagire-macos-universal`, `cagire-macos-universal-desktop.app.zip`, and `Cagire-<version>-universal.pkg`.
|
||||||
- New themes: **Eden** (dark forest — black background with green-only palette, terminal aesthetic) and **Georges** (Commodore 64 palette on pure black background).
|
- New themes: **Eden** (dark forest — black background with green-only palette, terminal aesthetic) and **Georges** (Commodore 64 palette on pure black background).
|
||||||
- `bounce` word: ping-pong cycle through n items by step runs (e.g., `60 64 67 72 4 bounce` → 60 64 67 72 67 64 60 64...).
|
- `bounce` word: ping-pong cycle through n items by step runs (e.g., `60 64 67 72 4 bounce` → 60 64 67 72 67 64 60 64...).
|
||||||
|
|||||||
@@ -80,6 +80,9 @@ soft_ratatui = { version = "0.1.3", features = ["unicodefonts"], optional = true
|
|||||||
image = { version = "0.25", default-features = false, features = ["png"], optional = true }
|
image = { version = "0.25", default-features = false, features = ["png"], optional = true }
|
||||||
|
|
||||||
|
|
||||||
|
[target.'cfg(windows)'.build-dependencies]
|
||||||
|
winres = "0.1"
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
opt-level = 3
|
opt-level = 3
|
||||||
lto = "fat"
|
lto = "fat"
|
||||||
@@ -90,7 +93,7 @@ strip = true
|
|||||||
[package.metadata.bundle.bin.cagire-desktop]
|
[package.metadata.bundle.bin.cagire-desktop]
|
||||||
name = "Cagire"
|
name = "Cagire"
|
||||||
identifier = "com.sova.cagire"
|
identifier = "com.sova.cagire"
|
||||||
icon = ["assets/Cagire.icns", "assets/Cagire.ico"]
|
icon = ["assets/Cagire.icns", "assets/Cagire.ico", "assets/Cagire.png"]
|
||||||
copyright = "Copyright (c) 2025 Raphaël Forment"
|
copyright = "Copyright (c) 2025 Raphaël Forment"
|
||||||
category = "Music"
|
category = "Music"
|
||||||
short_description = "Forth-based music sequencer"
|
short_description = "Forth-based music sequencer"
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
11
build.rs
Normal file
11
build.rs
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
fn main() {
|
||||||
|
#[cfg(windows)]
|
||||||
|
{
|
||||||
|
let mut res = winres::WindowsResource::new();
|
||||||
|
res.set_icon("assets/Cagire.ico")
|
||||||
|
.set("ProductName", "Cagire")
|
||||||
|
.set("FileDescription", "Forth-based music sequencer")
|
||||||
|
.set("LegalCopyright", "Copyright (c) 2025 Raphaël Forment");
|
||||||
|
res.compile().expect("Failed to compile Windows resources");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -458,7 +458,7 @@ impl eframe::App for CagireDesktop {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn load_icon() -> egui::IconData {
|
fn load_icon() -> egui::IconData {
|
||||||
const ICON_BYTES: &[u8] = include_bytes!("../../cagire_pixel.png");
|
const ICON_BYTES: &[u8] = include_bytes!("../../assets/Cagire.png");
|
||||||
|
|
||||||
let img = image::load_from_memory(ICON_BYTES)
|
let img = image::load_from_memory(ICON_BYTES)
|
||||||
.expect("Failed to load embedded icon")
|
.expect("Failed to load embedded icon")
|
||||||
|
|||||||
Reference in New Issue
Block a user