31 lines
950 B
CMake
31 lines
950 B
CMake
cmake_minimum_required(VERSION 3.12)
|
|
project(TaxiDriverModule)
|
|
|
|
# Set the source files for your module
|
|
set(SRC ${CMAKE_SOURCE_DIR}/TaxiDriver.c)
|
|
|
|
# Locate the kernel build directory
|
|
execute_process(
|
|
COMMAND uname -r
|
|
OUTPUT_VARIABLE KERNEL_RELEASE
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
set(KERNEL_BUILD_DIR /lib/modules/${KERNEL_RELEASE}/build)
|
|
|
|
# Define the target
|
|
add_custom_target(TaxiDriverModule ALL
|
|
COMMAND ${CMAKE_MAKE_PROGRAM} -C ${KERNEL_BUILD_DIR} M=${CMAKE_BINARY_DIR} modules
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
COMMENT "Building TaxiDriver module"
|
|
)
|
|
|
|
# Define the clean target
|
|
add_custom_target(clean_TaxiDriverModule
|
|
COMMAND ${CMAKE_MAKE_PROGRAM} -C ${KERNEL_BUILD_DIR} M=${CMAKE_BINARY_DIR} clean
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
COMMENT "Cleaning TaxiDriver module"
|
|
)
|
|
|
|
# Specify the files to be cleaned
|
|
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_BINARY_DIR}/*.ko")
|