[package] name = "relm4" documentation = "https://docs.rs/relm4/" version.workspace = true authors.workspace = true edition.workspace = true rust-version.workspace = true readme.workspace = true license.workspace = true description.workspace = true homepage.workspace = true repository.workspace = true keywords.workspace = true categories.workspace = true include = ["src/", "examples/", "benches/", "tests/", "README.md", "LICENSE-MIT", "LICENSE-APACHE"] [package.metadata.docs.rs] all-features = true rustc-args = ["--cfg", "docsrs"] cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"] # enable unstable features in the documentation rustdoc-args = ["--cfg", "docsrs"] [features] default = ["css", "macros", "gnome_42"] css = ["relm4-css"] libadwaita = ["adw"] libpanel = ["panel"] macros = ["relm4-macros"] gnome_47 = ["gnome_46", "gtk/gnome_47", "adw/v1_6"] gnome_46 = ["gnome_45", "gtk/gnome_46", "adw/v1_5"] gnome_45 = ["gnome_44", "gtk/gnome_45", "adw/v1_4"] gnome_44 = ["gnome_43", "gtk/gnome_44", "adw/v1_3"] gnome_43 = ["gnome_42", "gtk/gnome_43", "adw/v1_2"] gnome_42 = ["gtk/gnome_42"] # All features except docs. This is also used in the CI all = ["macros", "libadwaita", "panel", "panel/v1_4"] [dependencies] adw = { version = "0.7", optional = true, package = "libadwaita" } flume = "0.11.0" futures = "0.3.30" fragile = "2.0.0" gtk = { version = "0.9", package = "gtk4" } once_cell = "1.19" panel = { version = "0.5", optional = true, package = "libpanel" } tokio = { version = "1.38", features = ["rt", "rt-multi-thread", "sync"] } relm4-css = { version = "0.9.0", path = "../relm4-css", optional = true } relm4-macros = { version = "0.9.0", path = "../relm4-macros", optional = true } tracing = "0.1.40" [dev-dependencies] relm4-macros = { path = "../relm4-macros" } # For the benchmarks criterion = { version = "0.5", default-features = false } # For the examples relm4-icons = "0.9.0" relm4-components = { path = "../relm4-components" } tokio = { version = "1.38", features = [ "rt", "macros", "time", "rt-multi-thread", ] } rand = "0.8.5" tracker = "0.2" reqwest = "0.12.5" tracing-subscriber = "0.3.18" serde = { version = "1", features = ["derive", "default"] } serde_json = "1" [[bench]] name = "stress_test" harness = false # Make sure that the examples are scraped [[example]] name = "simple" path = "examples/simple.rs" doc-scrape-examples = true [[example]] name = "leaflet_sidebar" path = "examples/leaflet_sidebar.rs" required-features = ["libadwaita"] [[example]] name = "tab_factory" path = "examples/tab_factory.rs" required-features = ["libadwaita"] [[example]] name = "tab_game" path = "examples/tab_game.rs" required-features = ["libadwaita"] [[example]] name = "toast" path = "examples/toast.rs" required-features = ["libadwaita", "gnome_43"]