# Generate vpp/app/version.h
##############################################################################
add_custom_command(
- OUTPUT ${CMAKE_BINARY_DIR}/include/vpp/app/version.h
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/app/version.h
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND mkdir
- ARGS -p ${CMAKE_BINARY_DIR}/include/vpp/app
+ ARGS -p ${CMAKE_CURRENT_BINARY_DIR}/app
COMMAND scripts/generate_version_h
- ARGS ${CMAKE_BINARY_DIR}/include/vpp/app/version.h
+ ARGS ${CMAKE_CURRENT_BINARY_DIR}/app/version.h
COMMENT "Generating VPP version.h"
)
add_custom_target(vpp_version_h
- DEPENDS ${CMAKE_BINARY_DIR}/include/vpp/app/version.h
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/app/version.h
+)
+
+install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/app/version.h
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/vpp/app
+ COMPONENT vpp-dev
)
##############################################################################
configure_file(
${CMAKE_SOURCE_DIR}/vpp/vnet/config.h.in
- ${CMAKE_BINARY_DIR}/vpp/vnet/config.h
+ ${CMAKE_CURRENT_BINARY_DIR}/vnet/config.h
+)
+
+install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/vnet/config.h
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/vpp/vnet
+ COMPONENT vpp-dev
)
set(VPP_API_FILES
FILES ${CMAKE_CURRENT_BINARY_DIR}/${file}.h
${CMAKE_CURRENT_BINARY_DIR}/${file}_enum.h
${CMAKE_CURRENT_BINARY_DIR}/${file}_types.h
- DESTINATION include/vpp/${dir}
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/vpp/${dir}
COMPONENT vpp-dev
)
endforeach()
vnet/main.c
app/vpe_cli.c
app/version.c
- stats/stat_segment.c
api/api.c
api/json_format.c
- api/custom_dump.c
api/types.c
)
api/api_main.c
api/plugin.c
api/types.c
- ../vnet/arp/arp_test.c
)
add_definitions(-DVPP_API_TEST_BUILTIN=1)
endif()
add_vpp_executable(vpp
ENABLE_EXPORTS
SOURCES ${VPP_SOURCES}
- LINK_LIBRARIES svm vlib vppinfra vlibmemory vnet Threads::Threads ${CMAKE_DL_LIBS}
+ LINK_LIBRARIES svm vlib vppinfra vlibmemory vnet Threads::Threads ${CMAKE_DL_LIBS} ${EPOLL_LIB}
DEPENDS vpp_version_h api_headers
)
-add_vpp_headers(vpp
- api/vpe_msg_enum.h
- api/vpe_all_api_h.h
- stats/stat_segment.h
- stats/stat_segment_shared.h
-)
-
##############################################################################
# vppctl binary
##############################################################################
add_vpp_executable(vppctl
SOURCES app/vppctl.c
- LINK_LIBRARIES vppinfra
+ LINK_LIBRARIES vppinfra ${EPOLL_LIB}
)
##############################################################################
add_vpp_executable(vpp_prometheus_export
SOURCES app/vpp_prometheus_export.c
- LINK_LIBRARIES vppapiclient vppinfra svm vlibmemoryclient
+ LINK_LIBRARIES vppapiclient vppinfra svm vlibmemoryclient ${EPOLL_LIB}
DEPENDS api_headers
)
LINK_LIBRARIES vppinfra
)
-install(FILES conf/startup.conf DESTINATION etc/vpp COMPONENT vpp)
-install(FILES conf/80-vpp.conf DESTINATION etc/sysctl.d COMPONENT vpp)
+install(FILES conf/startup.conf DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/vpp COMPONENT vpp)
+install(FILES conf/80-vpp.conf DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/sysctl.d COMPONENT vpp)
##############################################################################
# VAT2 plugins
add_vpp_test_library(vpp
${VPP_API_FILES}
)
+
+add_vat_test_library(vpp
+ api/api_test.c
+)
+
+##############################################################################
+# minimal interactive startup.conf - only if not present
+##############################################################################
+if(NOT EXISTS ${CMAKE_BINARY_DIR}/startup.conf)
+ configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/conf/startup.conf.in
+ ${CMAKE_BINARY_DIR}/startup.conf
+ )
+endif()