makepad/tools/makepad_builder/Cargo.toml
Admin 2e176aaea5 widgets, builder: the big widget families are features, all on by default, and the Builder takes none of them -- makepad-widgets gains tweaker (with reflect and the theme store; needs dock and data), charts (chart, chart shapes, waveform; needs color), color, data (data grid, tree view, file tree), dates (calendar, date and time pickers), chat, dock, rich_text (text flow, rich text, HTML, Markdown, LaTeX maths, log list; makepad-html, pulldown-cmark and latex-math become optional), dropzone, vector, glass and nav_menus (floating action, radial, pill-nav, line and hamburger menus) and command_palette. Each gates its modules, re-exports and registration; the core stays unconditional. Without the tweaker a Window's Tweaker is an empty hidden view, as the voice wave is without voice, and the window, widget tree and fab panel skip their tweaker and dock hooks. wm_theme and wm_api take no families; the terminal app keeps them all through a default all_widgets feature so shared target dirs build makepad-widgets once. The Builder (tools/makepad_builder) takes widgets and terminal without defaults: macOS release 30.04 MB -> 24.41 MB (stripped 24.39 -> 19.70 MB, __text 15.96 -> 12.62 MB), window and TUI unchanged (identical grab), no script errors in its log. Checked: cargo check --workspace, widgets with no features and with each feature alone, widget lib tests with and without defaults (1849 / 1100 pass), Builder on macOS, Windows and Linux targets.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 00:10:52 +02:00

41 lines
1.3 KiB
TOML

[package]
name = "makepad-loader"
version = "0.1.0"
edition = "2021"
publish = false
description = "Makepad Builder: compile and customize commercial Makepad apps from source"
[features]
default = ["ui"]
ui = ["dep:makepad-widgets", "dep:makepad-terminal"]
[lib]
name = "makepad_loader"
path = "src/lib.rs"
[[bin]]
name = "makepad-builder"
path = "src/main.rs"
required-features = ["ui"]
[[bin]]
name = "makepad-builder-cli"
path = "src/bin/makepad-loader-cli.rs"
[dependencies]
makepad-loader-bundle = { path = "../../libs/loader_bundle" }
# The window and the terminal widget are all the Builder draws: no widget
# family beyond the core, and none of the terminal app's.
makepad-widgets = { path = "../../widgets", optional = true, default-features = false }
makepad-terminal = { path = "../../apps/terminal", optional = true, default-features = false }
makepad-network = { path = "../../platform/network" }
makepad-zip-file = { path = "../../libs/zip_file" }
makepad-git = { path = "../../libs/git" }
makepad-fast-inflate = { path = "../../libs/fast_inflate" }
makepad-strict-json = { path = "../../libs/strict_json" }
[target.'cfg(windows)'.dependencies]
makepad-win-resource = { path = "../../libs/win_resource" }
[build-dependencies]
makepad-win-resource = { path = "../../libs/win_resource" }