From d39d3baea31d859e76aa52c5ec963e0249742aae Mon Sep 17 00:00:00 2001 From: WangRunji Date: Thu, 2 May 2019 13:40:21 +0800 Subject: [PATCH] make fuse an optional feature --- rcore-fs-fuse/Cargo.toml | 5 ++++- rcore-fs-fuse/src/lib.rs | 1 + rcore-fs-fuse/src/main.rs | 4 ++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/rcore-fs-fuse/Cargo.toml b/rcore-fs-fuse/Cargo.toml index 126c86b..cb2a53a 100644 --- a/rcore-fs-fuse/Cargo.toml +++ b/rcore-fs-fuse/Cargo.toml @@ -4,11 +4,14 @@ version = "0.1.0" authors = ["WangRunji "] edition = "2018" +[features] +use_fuse = ["fuse"] + [dependencies] time = "0.1" libc = "0.2" log = "0.4" -fuse = "0.3" +fuse = { version = "0.3", optional = true } structopt = "0.2" env_logger = "0.3" rcore-fs = { path = "../rcore-fs", features = ["std"] } diff --git a/rcore-fs-fuse/src/lib.rs b/rcore-fs-fuse/src/lib.rs index f0b494d..a8a7cef 100644 --- a/rcore-fs-fuse/src/lib.rs +++ b/rcore-fs-fuse/src/lib.rs @@ -1,2 +1,3 @@ +#[cfg(feature = "use_fuse")] pub mod fuse; pub mod zip; diff --git a/rcore-fs-fuse/src/main.rs b/rcore-fs-fuse/src/main.rs index bc7ddb6..3b94c9b 100644 --- a/rcore-fs-fuse/src/main.rs +++ b/rcore-fs-fuse/src/main.rs @@ -6,6 +6,7 @@ use structopt::StructOpt; use rcore_fs::dev::std_impl::StdTimeProvider; use rcore_fs::vfs::FileSystem; +#[cfg(feature = "use_fuse")] use rcore_fs_fuse::fuse::VfsFuse; use rcore_fs_fuse::zip::{unzip_dir, zip_dir}; use rcore_fs_sefs as sefs; @@ -41,6 +42,7 @@ enum Cmd { Unzip, /// Mount to + #[cfg(feature = "use_fuse")] #[structopt(name = "mount")] Mount, } @@ -51,6 +53,7 @@ fn main() { // open or create let create = match opt.cmd { + #[cfg(feature = "use_fuse")] Cmd::Mount => !opt.image.is_dir() && !opt.image.is_file(), Cmd::Zip => true, Cmd::Unzip => false, @@ -84,6 +87,7 @@ fn main() { _ => panic!("unsupported file system"), }; match opt.cmd { + #[cfg(feature = "use_fuse")] Cmd::Mount => { fuse::mount(VfsFuse::new(fs), &opt.dir, &[]).expect("failed to mount fs"); }