From 2a1ca787b9ca0021bd5da73450caedc2ff41c76d Mon Sep 17 00:00:00 2001 From: Ole Troan Date: Thu, 19 Sep 2019 01:08:30 +0200 Subject: api: split api generated files Split generation of API message enum and the typedefs into separate files, so that the type file can be included from elsewhere. Generate a C file for VPP that contains the API registration, this was previously done via X macros by the C pre- processor. This allows deleting lots of skeleton/copy paste code for each feature. plugins/flowprobe plugins/map examples/sample-plugin vnet/ipip used as Guinea pigs. Generate a C Test file for VAT, that does the same for VAT plugins. Also add support for a per-message CLI option, that is currently limited to VAT help text. option vat_help = ""; Type: refactor Change-Id: I245e3104bb76f7e1fb69a59ab20cc7c8dfcdd460 Signed-off-by: Ole Troan --- src/cmake/api.cmake | 2 +- src/cmake/library.cmake | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'src/cmake') diff --git a/src/cmake/api.cmake b/src/cmake/api.cmake index 693c55d86b7..922c83a8b4d 100644 --- a/src/cmake/api.cmake +++ b/src/cmake/api.cmake @@ -26,7 +26,7 @@ function(vpp_generate_api_c_header file) add_custom_command (OUTPUT ${output_name} COMMAND mkdir -p ${output_dir} COMMAND ${VPP_APIGEN} - ARGS ${includedir} --includedir ${CMAKE_SOURCE_DIR} --input ${CMAKE_CURRENT_SOURCE_DIR}/${file} --output ${output_name} + ARGS ${includedir} --includedir ${CMAKE_SOURCE_DIR} --input ${CMAKE_CURRENT_SOURCE_DIR}/${file} --outputdir ${output_dir} --output ${output_name} DEPENDS ${VPP_APIGEN} ${CMAKE_CURRENT_SOURCE_DIR}/${file} COMMENT "Generating API header ${output_name}" ) diff --git a/src/cmake/library.cmake b/src/cmake/library.cmake index 488687c03d8..fd6c077ea21 100644 --- a/src/cmake/library.cmake +++ b/src/cmake/library.cmake @@ -48,6 +48,8 @@ macro(add_vpp_library lib) get_filename_component(dir ${file} DIRECTORY) install( FILES ${file} ${CMAKE_CURRENT_BINARY_DIR}/${file}.h + ${CMAKE_CURRENT_BINARY_DIR}/${file}_enum.h + ${CMAKE_CURRENT_BINARY_DIR}/${file}_types.h DESTINATION include/${lib}/${dir} COMPONENT vpp-dev ) -- cgit 1.2.3-korg