build: Discover libepoll-shim on FreeBSD
[vpp.git] / src / CMakeLists.txt
index 9415c4d..68d0a4f 100644 (file)
@@ -244,6 +244,21 @@ include(cmake/library.cmake)
 include(cmake/exec.cmake)
 include(cmake/plugin.cmake)
 
+##############################################################################
+# FreeBSD - use epoll-shim
+##############################################################################
+set(EPOLL_LIB "")
+if("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
+  find_path(EPOLL_SHIM_INCLUDE_DIR NAMES sys/epoll.h HINTS /usr/local/include/libepoll-shim)
+  find_library(EPOLL_SHIM_LIB NAMES epoll-shim HINTS /usr/local/lib)
+
+  if(EPOLL_SHIM_INCLUDE_DIR AND EPOLL_SHIM_LIB)
+    message(STATUS "Found epoll-shim in ${EPOLL_SHIM_INCLUDE_DIR}")
+    include_directories(${EPOLL_SHIM_INCLUDE_DIR})
+    string(JOIN " " EPOLL_LIB "${EPOLL_SHIM_LIB}")
+  endif()
+endif()
+
 ##############################################################################
 # subdirs - order matters
 ##############################################################################