summaryrefslogtreecommitdiff
path: root/src/ipcpd/raptor/CMakeLists.txt
diff options
context:
space:
mode:
authorDimitri Staessens <[email protected]>2017-12-13 17:54:13 +0100
committerSander Vrijders <[email protected]>2017-12-15 15:43:37 +0100
commit757cbecfeb13e0db0fd8db7b2a3e8c57f733e77d (patch)
tree34ebed962b22fe4721c3bb5f7175d9f2c3dd90ee /src/ipcpd/raptor/CMakeLists.txt
parent7f077e978738c3ecdb37b3d5cf30e03bb63fc8ad (diff)
downloadouroboros-757cbecfeb13e0db0fd8db7b2a3e8c57f733e77d.tar.gz
ouroboros-757cbecfeb13e0db0fd8db7b2a3e8c57f733e77d.zip
ipcpd: Integrate raptor into ouroboros 0.8
The raptor code is refactored to completely remove reduntant code relating to addresses. The dependency on the google protocol buffers is removed. The build system will only build raptor if the relevant kernel module is found on the system. The irm tool and the relevant documentation are updated. Signed-off-by: Dimitri Staessens <[email protected]> Signed-off-by: Sander Vrijders <[email protected]>
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 ()