-unset(VAPICLIENT_API_C_HEADERS)
-unset(VAPICLIENT_API_CPP_HEADERS)
-
-get_property(VPP_API_FILES GLOBAL PROPERTY VPP_API_FILES)
-foreach(f ${VPP_API_FILES})
- get_filename_component(output ${f}.vapi.h NAME)
- set(input ${CMAKE_BINARY_DIR}/${f}.json)
-
- # C VAPI Headers
- add_custom_command(
- OUTPUT ${output}
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/vapi_c_gen.py
- ARGS --remove-path ${input}
- DEPENDS ${input} vapi_c_gen.py vapi_json_parser.py api_headers
- COMMENT "Generating VAPI C header ${output}"
- )
- install(
- FILES ${CMAKE_CURRENT_BINARY_DIR}/${output}
- DESTINATION include/vapi
- COMPONENT vpp-dev
- )
- list(APPEND VAPICLIENT_API_CPP_HEADERS ${output})
-
- # C++ VAPI Headers
- get_filename_component(output ${f}.vapi.hpp NAME)
- add_custom_command(
- OUTPUT ${output}
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/vapi_cpp_gen.py
- ARGS --gen-h-prefix=vapi --remove-path ${input}
- DEPENDS ${input} vapi_cpp_gen.py vapi_json_parser.py api_headers
- COMMENT "Generating VAPI C++ header ${output}"
- )
- install(
- FILES ${CMAKE_CURRENT_BINARY_DIR}/${output}
- DESTINATION include/vapi
- COMPONENT vpp-dev
- )
- list(APPEND VAPICLIENT_API_CPP_HEADERS ${output})
-endforeach ()
-
-add_custom_target(all-vapi-headers DEPENDS
- ${VAPICLIENT_API_C_HEADERS}
- ${VAPICLIENT_API_CPP_HEADERS}
-)
-