summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorSimon Rettberg2020-07-28 17:49:17 +0200
committerSimon Rettberg2020-07-28 17:49:17 +0200
commite4dec3562e6cab27e1a3f40165e4c0d9d0bf05c9 (patch)
tree4b9b9a2ddf0cec0188f64639ed18f18f437b7c74 /CMakeLists.txt
parentMerge branch 'no-working-flag' into fuse_ll (diff)
downloaddnbd3-e4dec3562e6cab27e1a3f40165e4c0d9d0bf05c9.tar.gz
dnbd3-e4dec3562e6cab27e1a3f40165e4c0d9d0bf05c9.tar.xz
dnbd3-e4dec3562e6cab27e1a3f40165e4c0d9d0bf05c9.zip
[SERVER] Add FUSE mode
Still needs some cleanup and optimizations, variable naming sucks, comments, etc.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt15
1 files changed, 14 insertions, 1 deletions
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()