aboutsummaryrefslogtreecommitdiffstats
path: root/src/cmake
diff options
context:
space:
mode:
authorOle Troan <ot@cisco.com>2019-09-19 01:08:30 +0200
committerDave Barach <openvpp@barachs.net>2019-09-25 12:02:32 +0000
commit2a1ca787b9ca0021bd5da73450caedc2ff41c76d (patch)
treef9d879e07099f727ca565cfd8bc1624d3e7dc405 /src/cmake
parent33af8c1ed89f15cf0601ee891e9603bef16f2c93 (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.cmake2
-rw-r--r--src/cmake/library.cmake2
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
)