summaryrefslogtreecommitdiff
path: root/src/ipcpd/raptor/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/ipcpd/raptor/CMakeLists.txt')
-rw-r--r--src/ipcpd/raptor/CMakeLists.txt60
1 files changed, 37 insertions, 23 deletions
diff --git a/src/ipcpd/raptor/CMakeLists.txt b/src/ipcpd/raptor/CMakeLists.txt
index 2cb86a76..03411941 100644
--- a/src/ipcpd/raptor/CMakeLists.txt
+++ b/src/ipcpd/raptor/CMakeLists.txt
@@ -12,26 +12,40 @@ include_directories(${CURRENT_BINARY_PARENT_DIR})
include_directories(${CMAKE_SOURCE_DIR}/include)
include_directories(${CMAKE_BINARY_DIR}/include)
-protobuf_generate_c(RAPTOR_PROTO_SRCS RAPTOR_PROTO_HDRS
- raptor_messages.proto)
-
-set(IPCP_RAPTOR_TARGET ipcpd-raptor
- CACHE STRING "IPCP_RAPTOR_TARGET")
-
-set(RAPTOR_SOURCES
- # Add source files here
- ${CMAKE_CURRENT_SOURCE_DIR}/main.c)
-
-add_executable(ipcpd-raptor ${RAPTOR_SOURCES} ${IPCP_SOURCES}
- ${RAPTOR_PROTO_SRCS})
-target_link_libraries(ipcpd-raptor LINK_PUBLIC ouroboros
- ${PROTOBUF_C_LIBRARY})
-
-test_and_set_c_compiler_flag_global(-std=c99)
-
-include(AddCompileFlags)
-if (CMAKE_BUILD_TYPE MATCHES Debug)
- add_compile_flags(ipcpd-raptor -DCONFIG_OUROBOROS_DEBUG)
-endif (CMAKE_BUILD_TYPE MATCHES Debug)
-
-install(TARGETS ipcpd-raptor RUNTIME DESTINATION sbin)
+if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ find_path(RAPTOR_KERNEL_MODULE
+ NAMES
+ raptor.ko
+ raptor.ko.gz
+ HINTS
+ /lib/modules/${CMAKE_SYSTEM_VERSION}/
+ /lib/modules/${CMAKE_SYSTEM_VERSION}/extramodules/
+ )
+
+ mark_as_advanced(RAPTOR_KERNEL_MODULE)
+
+ if (RAPTOR_KERNEL_MODULE)
+ set(DISABLE_RAPTOR FALSE CACHE BOOL
+ "Disable support for raptor devices")
+ if (NOT DISABLE_RAPTOR)
+ message(STATUS "Kernel module for raptor found. Building raptor.")
+ set(IPCP_RAPTOR_TARGET ipcpd-raptor CACHE INTERNAL "")
+
+ set(RAPTOR_SOURCES
+ # Add source files here
+ ${CMAKE_CURRENT_SOURCE_DIR}/main.c)
+
+ add_executable(ipcpd-raptor ${RAPTOR_SOURCES} ${IPCP_SOURCES})
+ target_link_libraries(ipcpd-raptor LINK_PUBLIC ouroboros-dev)
+
+ include(AddCompileFlags)
+ if (CMAKE_BUILD_TYPE MATCHES "Debug*")
+ add_compile_flags(ipcpd-raptor -DCONFIG_OUROBOROS_DEBUG)
+ endif ()
+
+ install(TARGETS ipcpd-raptor RUNTIME DESTINATION sbin)
+ else ()
+ message(STATUS "Raptor support disabled by user")
+ endif ()
+ endif ()
+endif ()