summaryrefslogtreecommitdiffstats
path: root/kernel/CMakeLists.txt
diff options
context:
space:
mode:
authorManuel Bentele2020-10-12 16:44:52 +0200
committerManuel Bentele2020-10-12 16:44:52 +0200
commitccb981c4b403d7bbd962b281082b656b741e905f (patch)
treec57e6301bb9d520aeb47aab57c4e6b378f8a4970 /kernel/CMakeLists.txt
parentAdded debug support for xlosetup and documented debugging in README (diff)
downloadxloop-ccb981c4b403d7bbd962b281082b656b741e905f.tar.gz
xloop-ccb981c4b403d7bbd962b281082b656b741e905f.tar.xz
xloop-ccb981c4b403d7bbd962b281082b656b741e905f.zip
Added separate Linux kernel install directory and added version to kernel modules
Diffstat (limited to 'kernel/CMakeLists.txt')
-rw-r--r--kernel/CMakeLists.txt23
1 files changed, 7 insertions, 16 deletions
diff --git a/kernel/CMakeLists.txt b/kernel/CMakeLists.txt
index 0cf209c..1f266f6 100644
--- a/kernel/CMakeLists.txt
+++ b/kernel/CMakeLists.txt
@@ -6,18 +6,6 @@ project(xloop-kernel)
set (CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/cmake")
include(kernel)
-# set Linux kernel directory
-set(KERNEL_DIR "/lib/modules/${CMAKE_SYSTEM_VERSION}"
- CACHE PATH "Path to Linux kernel modules to compile against")
-
-# define xloop device specific options
-set(XLOOP_CTRL_MINOR 15
- CACHE STRING "Minor number for the xloop-control device")
-
-# print configured settings
-message(STATUS "Path to Linux kernel modules to compile against is " ${KERNEL_DIR})
-message(STATUS "Minor number for the xloop-control device is " ${XLOOP_CTRL_MINOR})
-
# set C flags for a Linux kernel module
set(KERNEL_C_FLAGS "-DCONFIG_BLK_DEV_XLOOP_MIN_COUNT=${BLK_DEV_XLOOP_MIN_COUNT} -DXLOOP_MAJOR=${XLOOP_MAJOR} -DXLOOP_CTRL_MINOR=${XLOOP_CTRL_MINOR} -DVERSION=${VERSION}"
CACHE STRING "C flags to be used for building the kernel module")
@@ -36,7 +24,8 @@ set(KERNEL_MODULE_XLOOP_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/xloop_file_fmt.
set(KERNEL_MODULE_XLOOP_HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/xloop_file_fmt.h
${CMAKE_CURRENT_SOURCE_DIR}/xloop_main.h
${CMAKE_CURRENT_SOURCE_DIR}/uapi)
-add_kernel_module(xloop "${KERNEL_DIR}"
+add_kernel_module(xloop "${KERNEL_BUILD_DIR}"
+ "${KERNEL_INSTALL_DIR}"
"CONFIG_BLK_DEV_XLOOP=m"
"${KERNEL_MODULE_XLOOP_SOURCE_FILES}"
"${KERNEL_MODULE_XLOOP_HEADER_FILES}"
@@ -47,7 +36,8 @@ set(KERNEL_MODULE_XLOOP_RAW_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/xloop_file_
set(KERNEL_MODULE_XLOOP_RAW_HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/xloop_file_fmt.h
${CMAKE_CURRENT_SOURCE_DIR}/xloop_main.h
${CMAKE_CURRENT_SOURCE_DIR}/uapi)
-add_kernel_module(xloop_file_fmt_raw "${KERNEL_DIR}"
+add_kernel_module(xloop_file_fmt_raw "${KERNEL_BUILD_DIR}"
+ "${KERNEL_INSTALL_DIR}"
"CONFIG_BLK_DEV_XLOOP_FILE_FMT_RAW=m"
"${KERNEL_MODULE_XLOOP_RAW_SOURCE_FILES}"
"${KERNEL_MODULE_XLOOP_RAW_HEADER_FILES}"
@@ -64,7 +54,8 @@ set(KERNEL_MODULE_XLOOP_QCOW_HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/xloop_file
${CMAKE_CURRENT_SOURCE_DIR}/xloop_file_fmt.h
${CMAKE_CURRENT_SOURCE_DIR}/xloop_main.h
${CMAKE_CURRENT_SOURCE_DIR}/uapi)
-add_kernel_module(xloop_file_fmt_qcow "${KERNEL_DIR}"
+add_kernel_module(xloop_file_fmt_qcow "${KERNEL_BUILD_DIR}"
+ "${KERNEL_INSTALL_DIR}"
"CONFIG_BLK_DEV_XLOOP_FILE_FMT_QCOW=m"
"${KERNEL_MODULE_XLOOP_QCOW_SOURCE_FILES}"
"${KERNEL_MODULE_XLOOP_QCOW_HEADER_FILES}"
@@ -77,6 +68,6 @@ endif()
# install udev rules for xloop devices exposed by the xloop kernel module
install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/udev/50-xloop.rules
- DESTINATION /lib/udev/rules.d
+ DESTINATION /${CMAKE_INSTALL_LIBDIR}/udev/rules.d
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
COMPONENT main)