1# Find the kernel headers for the running kernel release 2# This is used to find a "linux/version.h" matching the running kernel. 3 4execute_process( 5 COMMAND uname -r 6 OUTPUT_VARIABLE KERNEL_RELEASE 7 OUTPUT_STRIP_TRAILING_WHITESPACE 8) 9 10# Find the headers 11find_path(KERNELHEADERS_DIR 12 include/linux/user.h 13 PATHS 14 # RedHat derivatives 15 /usr/src/kernels/${KERNEL_RELEASE} 16 # Debian derivatives 17 /usr/src/linux-headers-${KERNEL_RELEASE} 18 ) 19 20message(STATUS "Kernel release: ${KERNEL_RELEASE}") 21message(STATUS "Kernel headers: ${KERNELHEADERS_DIR}") 22 23if (KERNELHEADERS_DIR) 24 set(KERNELHEADERS_INCLUDE_DIRS 25 ${KERNELHEADERS_DIR}/include/generated/uapi 26 CACHE PATH "Kernel headers include dirs" 27 ) 28 set(KERNELHEADERS_FOUND 1 CACHE STRING "Set to 1 if kernel headers were found") 29 include_directories(${KERNELHEADERS_INCLUDE_DIRS}) 30else (KERNELHEADERS_DIR) 31 set(KERNELHEADERS_FOUND 0 CACHE STRING "Set to 1 if kernel headers were found") 32endif (KERNELHEADERS_DIR) 33 34mark_as_advanced(KERNELHEADERS_FOUND) 35 36