From e4dec3562e6cab27e1a3f40165e4c0d9d0bf05c9 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Tue, 28 Jul 2020 17:49:17 +0200 Subject: [SERVER] Add FUSE mode Still needs some cleanup and optimizations, variable naming sucks, comments, etc. --- CMakeLists.txt | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 952ff00..9986aec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,6 +11,7 @@ ENDIF() SET(CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH "Path prefix for system installation") OPTION(BUILD_FUSE_CLIENT "Build dnbd3 fuse client" ON) OPTION(BUILD_SERVER "Build dnbd3 server" ON) +OPTION(BUILD_SERVER_FUSE "Enable FUSE-Integration for dnbd3 server" OFF) OPTION(BUILD_STRESSTEST "Build dnbd3 stress testing tool" OFF) SET(EXTRA_C_FLAGS "" CACHE STRING "Additional options to pass to compiler") OPTION(DEBUG_LOCKS "Add lock debugging code to dnbd3-server" OFF) @@ -82,12 +83,15 @@ if (DEBUG_THREADS) ENDIF() FIND_PACKAGE(Threads) +if(BUILD_SERVER_FUSE OR BUILD_FUSE_CLIENT) + FIND_PACKAGE(Fuse) + message( " FUSE: ${FUSE_VERSION} " ) +endif() SET(DO_ABORT False) message( " *************************************************" ) if(BUILD_FUSE_CLIENT) - FIND_PACKAGE(Fuse) if(NOT FUSE_FOUND) message( " *** No fuse dev libs found, can't build dnbd3-fuse" ) SET(DO_ABORT True) @@ -107,6 +111,10 @@ if(BUILD_SERVER) message( " *** No jansson lib found, can't build dnbd3-server" ) SET(DO_ABORT True) endif() + if(BUILD_SERVER_FUSE AND NOT FUSE_FOUND) + message( " *** No fuse dev libs found, can't build dnbd3-server with fuse support" ) + SET(DO_ABORT True) + endif() endif() if(BUILD_STRESSTEST) if(NOT THREADS_FOUND) @@ -169,6 +177,11 @@ if(BUILD_SERVER) ADD_EXECUTABLE(dnbd3-server ${CMAKE_BINARY_DIR}/generated/version.c ${SERVER_SRCS}) TARGET_INCLUDE_DIRECTORIES(dnbd3-server PRIVATE ${JANSSON_INCLUDE_DIR}) TARGET_LINK_LIBRARIES(dnbd3-server ${CMAKE_THREAD_LIBS_INIT} ${JANSSON_LIBRARIES}) + if(BUILD_SERVER_FUSE) + TARGET_LINK_LIBRARIES(dnbd3-server ${FUSE_LIBRARIES}) + ADD_DEFINITIONS(-DBUILD_SERVER_FUSE) + TARGET_INCLUDE_DIRECTORIES(dnbd3-server PRIVATE ${FUSE_INCLUDE_DIRS}) + endif() if(UNIX AND NOT APPLE) target_link_libraries(dnbd3-server rt) endif() -- cgit v1.2.3-55-g7522