diff options
author | Ole Troan <ot@cisco.com> | 2019-09-19 01:08:30 +0200 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2019-09-25 12:02:32 +0000 |
commit | 2a1ca787b9ca0021bd5da73450caedc2ff41c76d (patch) | |
tree | f9d879e07099f727ca565cfd8bc1624d3e7dc405 /src/cmake | |
parent | 33af8c1ed89f15cf0601ee891e9603bef16f2c93 (diff) |
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 = "<help text>";
Type: refactor
Change-Id: I245e3104bb76f7e1fb69a59ab20cc7c8dfcdd460
Signed-off-by: Ole Troan <ot@cisco.com>
Diffstat (limited to 'src/cmake')
-rw-r--r-- | src/cmake/api.cmake | 2 | ||||
-rw-r--r-- | src/cmake/library.cmake | 2 |
2 files changed, 3 insertions, 1 deletions
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 ) |