misc: move part of vpe apis to vlibmemory
[vpp.git] / src / vpp / CMakeLists.txt
index 64a8eb8..32f702d 100644 (file)
 # 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
 )
 
 ##############################################################################
@@ -35,7 +35,7 @@ option(VPP_API_TEST_BUILTIN "Use builtin VPP API test." ON)
 
 configure_file(
   ${CMAKE_SOURCE_DIR}/vpp/vnet/config.h.in
-  ${CMAKE_BINARY_DIR}/vpp/vnet/config.h
+  ${CMAKE_CURRENT_BINARY_DIR}/vnet/config.h
 )
 
 set(VPP_API_FILES
@@ -51,7 +51,7 @@ foreach(file ${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()
@@ -61,9 +61,9 @@ set(VPP_SOURCES
   app/vpe_cli.c
   app/version.c
   stats/stat_segment.c
+  stats/stat_segment_provider.c
   api/api.c
   api/json_format.c
-  api/custom_dump.c
   api/types.c
 )
 
@@ -73,8 +73,6 @@ if(VPP_API_TEST_BUILTIN)
     api/api_main.c
     api/plugin.c
     api/types.c
-    ../vnet/arp/arp_test.c
-    ../vnet/geneve/geneve_test.c
   )
   add_definitions(-DVPP_API_TEST_BUILTIN=1)
 endif()
@@ -125,5 +123,30 @@ add_vpp_executable(vpp_prometheus_export
   DEPENDS api_headers
 )
 
-install(FILES conf/startup.conf DESTINATION etc/vpp COMPONENT vpp)
-install(FILES conf/80-vpp.conf DESTINATION etc/sysctl.d COMPONENT vpp)
+##############################################################################
+# vppmem_preload library
+##############################################################################
+add_vpp_library(vppmem_preload
+  SOURCES mem/mem.c
+  LINK_LIBRARIES vppinfra
+)
+
+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}
+)
+
+##############################################################################
+# 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()