diff options
-rw-r--r-- | cmake/CompilerUtils.cmake | 3 | ||||
-rw-r--r-- | include/ouroboros/wrap/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/ipcpd/shim-eth-llc/CMakeLists.txt | 14 |
3 files changed, 15 insertions, 4 deletions
diff --git a/cmake/CompilerUtils.cmake b/cmake/CompilerUtils.cmake index fb81b7e7..b9fd391c 100644 --- a/cmake/CompilerUtils.cmake +++ b/cmake/CompilerUtils.cmake @@ -6,10 +6,7 @@ function(test_and_set_c_compiler_flag_global _flag) check_c_compiler_flag(${_flag} COMPILER_SUPPORTS_FLAG_${_sflag}) if(COMPILER_SUPPORTS_FLAG_${_sflag}) - message(STATUS "Compiler supports flag ${_flag}, added globally") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_flag}" PARENT_SCOPE) - else(${_retval}) - message(STATUS "Compiler does not support flag ${_flag}, discarded") endif() endfunction(test_and_set_c_compiler_flag_global) diff --git a/include/ouroboros/wrap/CMakeLists.txt b/include/ouroboros/wrap/CMakeLists.txt index 7753ca02..fd9368e8 100644 --- a/include/ouroboros/wrap/CMakeLists.txt +++ b/include/ouroboros/wrap/CMakeLists.txt @@ -17,7 +17,7 @@ else () include_directories(${PYTHON_INCLUDE_PATH}) # Python assumes C99 since Python 3.6 - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99") + test_and_set_c_compiler_flag_global(-std=c99) swig_add_module(ouroboros python ouroboros.i) swig_link_libraries(ouroboros ${PYTHON_LIBRARIES} ouroboros) diff --git a/src/ipcpd/shim-eth-llc/CMakeLists.txt b/src/ipcpd/shim-eth-llc/CMakeLists.txt index bd3049a2..b3abc052 100644 --- a/src/ipcpd/shim-eth-llc/CMakeLists.txt +++ b/src/ipcpd/shim-eth-llc/CMakeLists.txt @@ -12,6 +12,11 @@ include_directories(${CURRENT_BINARY_PARENT_DIR}) include_directories(${CMAKE_SOURCE_DIR}/include) include_directories(${CMAKE_BINARY_DIR}/include) +find_path(NETMAP_C_INCLUDE_DIR + net/netmap_user.h + HINTS /usr/include /usr/local/include + ) + protobuf_generate_c(SHIM_ETH_LLC_PROTO_SRCS SHIM_ETH_LLC_PROTO_HDRS shim_eth_llc_messages.proto) @@ -27,6 +32,15 @@ add_executable(ipcpd-shim-eth-llc ${SHIM_ETH_LLC_SOURCES} ${IPCP_SOURCES} target_link_libraries(ipcpd-shim-eth-llc LINK_PUBLIC ouroboros ${PROTOBUF_C_LIBRARY}) +if (${NETMAP_C_INCLUDE_DIR} STREQUAL "NETMAP_C_INCLUDE_DIR-NOTFOUND") + message("-- Could not find netmap. Install for better performance.") +else () + message("-- Found netmap headers in ${NETMAP_C_INCLUDE_DIR}") + include_directories(${NETMAP_C_INCLUDE_DIR}) + add_compile_flags(ipcpd-shim-eth-llc -DHAVE_NETMAP) + test_and_set_c_compiler_flag_global(-std=c99) +endif () + include(AddCompileFlags) if (CMAKE_BUILD_TYPE MATCHES Debug) add_compile_flags(ipcpd-shim-eth-llc -DCONFIG_OUROBOROS_DEBUG) |