From ace806eb694b7d05dc5d9aa9266dbbda1e0fc105 Mon Sep 17 00:00:00 2001 From: Philip Kristoffersen Date: Mon, 27 Sep 2021 22:58:56 +0200 Subject: [PATCH] Make fltk dependency optional on ui feature --- Cargo.toml | 15 +++++++-------- build.rs | 21 +++++++++++++++------ src/main.rs | 3 +++ 3 files changed, 25 insertions(+), 14 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 66d6548..5a601e4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,22 +4,21 @@ version = "0.2.0" edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - [dependencies] -steam_shortcuts_util="1.1.2" -steamgriddb_api="0.2,0" -serde={version="1.0.130", features=["derive"]} +steam_shortcuts_util = "1.1.2" +steamgriddb_api = "0.2,0" +serde = { version = "1.0.130", features = ["derive"] } serde_json = "1.0.68" tokio = { version = "1.11.0", features = ["full"] } reqwest = { version = "0.11.4", features = ["default"] } config = "0.11.0" failure = "0.1.8" #https://fltk-rs.github.io/fltk-rs/ -fltk = { version = "^1.2", features = ["fltk-bundled"] } - +fltk = { version = "^1.2", features = ["fltk-bundled"], optional = true } [build-dependencies] -fl2rust = "0.4" +fl2rust = { version = "0.4", optional = true } [features] -ui=[] \ No newline at end of file +# default = ["ui"] +ui = ["fltk", "fl2rust"] diff --git a/build.rs b/build.rs index ee360ea..58c7a04 100644 --- a/build.rs +++ b/build.rs @@ -1,9 +1,18 @@ -use std::path::PathBuf; +#[cfg(feature = "ui")] use std::env; +#[cfg(feature = "ui")] +use std::path::PathBuf; fn main() { - println!("cargo:rerun-if-changed=gui/mainview.fl"); - let g = fl2rust::Generator::default(); - let out_path = PathBuf::from(env::var("OUT_DIR").unwrap()); - g.in_out("gui/mainview.fl", out_path.join("mainview.rs").to_str().unwrap()).expect("Failed to generate rust from fl file!"); -} \ No newline at end of file + #[cfg(feature = "ui")] + { + println!("cargo:rerun-if-changed=gui/mainview.fl"); + let g = fl2rust::Generator::default(); + let out_path = PathBuf::from(env::var("OUT_DIR").unwrap()); + g.in_out( + "gui/mainview.fl", + out_path.join("mainview.rs").to_str().unwrap(), + ) + .expect("Failed to generate rust from fl file!"); + } +} diff --git a/src/main.rs b/src/main.rs index 96b2b2c..eae25ff 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,7 +6,9 @@ mod platform; mod settings; mod steam; mod steamgriddb; +#[cfg(feature = "ui")] use fltk::{app, prelude::*, window::Window}; +#[cfg(feature = "ui")] mod mainview; use crate::{ @@ -25,6 +27,7 @@ async fn main() -> Result<(), Box> { { let app = app::App::default().with_scheme(app::Scheme::Gtk); let mut ui = mainview::UserInterface::make_window(); + app.run().unwrap(); }