summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2018-07-06 15:29:22 +0200
committerSimon Rettberg2018-07-06 15:29:22 +0200
commitb989b26798903f5b343f638eb8f83823183a3c94 (patch)
tree3e18f14065ee639da3886b74abba28b07ee81bd2
parent[FUSE] In panic mode, use a pending range for alt check (diff)
downloaddnbd3-b989b26798903f5b343f638eb8f83823183a3c94.tar.gz
dnbd3-b989b26798903f5b343f638eb8f83823183a3c94.tar.xz
dnbd3-b989b26798903f5b343f638eb8f83823183a3c94.zip
CMake: Hide kernel option on BSD, make kernel dir configurable
-rw-r--r--CMakeLists.txt13
1 files changed, 7 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ebee2cd..0141b05 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,7 +9,6 @@ IF (CMAKE_BUILD_TYPE STREQUAL "")
ENDIF()
SET(CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH "Path prefix for system installation")
-OPTION(BUILD_KERNEL_MODULE "Build the dnbd3 Linux kernel module" ON)
OPTION(BUILD_FUSE_CLIENT "Build dnbd3 fuse client" ON)
OPTION(BUILD_SERVER "Build dnbd3 server" ON)
OPTION(BUILD_STRESSTEST "Build dnbd3 stress testing tool" OFF)
@@ -27,12 +26,11 @@ endif()
message( "Build Type selected: ${CMAKE_BUILD_TYPE}" )
-SET(MAKE_KERNEL_MODULE True)
IF(CMAKE_SYSTEM_NAME MATCHES "BSD")
message("Detected *BSD System: disable build of Kernel Module.")
- SET(MAKE_KERNEL_MODULE False)
-ELSEIF(NOT BUILD_KERNEL_MODULE)
- SET(MAKE_KERNEL_MODULE False)
+ SET(BUILD_KERNEL_MODULE False)
+ELSE()
+ OPTION(BUILD_KERNEL_MODULE "Build the dnbd3 Linux kernel module" ON)
ENDIF()
if(CMAKE_C_COMPILER MATCHES "clang")
@@ -195,7 +193,10 @@ IF(BUILD_KERNEL_MODULE)
FILE(GLOB MODULE_SOURCE_FILES src/kernel/*.c src/serialize.c)
FILE(GLOB MODULE_HEADER_FILES src/kernel/*.h)
- SET(KERNEL_DIR "/lib/modules/${CMAKE_SYSTEM_VERSION}/build")
+ SET(KERNEL_DIR "" CACHE PATH "Path to kernel sources to compile against")
+ IF(KERNEL_DIR STREQUAL "")
+ SET(KERNEL_DIR "/lib/modules/${CMAKE_SYSTEM_VERSION}/build")
+ ENDIF()
SET(KBUILD_COMMAND ${CMAKE_MAKE_PROGRAM} -C ${KERNEL_DIR}
M=${CMAKE_BINARY_DIR} modules