diff options
author | Dimitri Staessens <[email protected]> | 2017-12-13 17:54:13 +0100 |
---|---|---|
committer | Sander Vrijders <[email protected]> | 2017-12-15 15:43:37 +0100 |
commit | 757cbecfeb13e0db0fd8db7b2a3e8c57f733e77d (patch) | |
tree | 34ebed962b22fe4721c3bb5f7175d9f2c3dd90ee /src/ipcpd/raptor/CMakeLists.txt | |
parent | 7f077e978738c3ecdb37b3d5cf30e03bb63fc8ad (diff) | |
download | ouroboros-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.txt | 60 |
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 () |