${CMAKE_SOURCE_DIR}/vlib/config.h.in
${CMAKE_BINARY_DIR}/vlib/config.h
)
-install(FILES ${CMAKE_BINARY_DIR}/vlib/config.h DESTINATION include/vlib)
+install(
+ FILES ${CMAKE_BINARY_DIR}/vlib/config.h
+ DESTINATION include/vlib
+ COMPONENT vpp-dev
+)
+
+##############################################################################
+# Find lib and include files
+##############################################################################
+message(STATUS "Looking for libuuid")
+find_path(UUID_INCLUDE_DIR NAMES uuid/uuid.h)
+find_library(UUID_LIB NAMES uuid)
+
+if(UUID_INCLUDE_DIR AND UUID_LIB)
+ include_directories(${UUID_INCLUDE_DIR})
+ set(VMBUS_SOURCE linux/vmbus.c)
+ set(VMBUS_LIBS uuid)
+ message(STATUS "Found uuid in ${UUID_INCLUDE_DIR}")
+else()
+ message(WARNING "-- libuuid not found - vmbus support disabled")
+endif()
##############################################################################
# vlib shared library
##############################################################################
-set(VLIB_SRCS
+add_vpp_library(vlib
+ SOURCES
buffer.c
- buffer_serialize.c
cli.c
counter.c
+ drop.c
error.c
format.c
+ handoff_trace.c
i2c.c
init.c
linux/pci.c
- linux/physmem.c
linux/vfio.c
log.c
main.c
- mc.c
node.c
node_cli.c
node_format.c
pci/pci.c
+ physmem.c
+ punt.c
+ punt_node.c
threads.c
threads_cli.c
trace.c
unix/cli.c
unix/input.c
unix/main.c
- unix/mc_socket.c
unix/plugin.c
unix/util.c
-)
+ vmbus/vmbus.c
+ ${VMBUS_SOURCE}
-add_library(vlib SHARED ${VLIB_SRCS})
-target_link_libraries(vlib vppinfra svm ${CMAKE_DL_LIBS})
-install(TARGETS vlib DESTINATION lib)
+ MULTIARCH_SOURCES
+ drop.c
+ punt_node.c
-##############################################################################
-# vlib headers
-##############################################################################
-vpp_add_header_files(vlib
+ INSTALL_HEADERS
buffer_funcs.h
buffer.h
buffer_node.h
- cli_funcs.h
cli.h
counter.h
+ counter_types.h
defs.h
error_funcs.h
error.h
linux/vfio.h
log.h
main.h
- mc.h
node_funcs.h
node.h
pci/pci_config.h
pci/pci.h
physmem_funcs.h
physmem.h
+ punt.h
threads.h
trace_funcs.h
trace.h
unix/plugin.h
unix/unix.h
vlib.h
-)
+ vmbus/vmbus.h
+ LINK_LIBRARIES vppinfra svm ${VMBUS_LIBS} ${CMAKE_DL_LIBS}
+)