set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${VPP_RUNTIME_DIR})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${VPP_LIBRARY_DIR})
set(VPP_BINARY_DIR ${CMAKE_BINARY_DIR}/CMakeFiles)
+set(PYENV PYTHONPYCACHEPREFIX=${CMAKE_BINARY_DIR}/CMakeFile/__pycache__)
if (CMAKE_BUILD_TYPE)
add_compile_options(-g -fPIC -Werror -Wall)
add_custom_command (
OUTPUT ${OUTPUT_HEADERS}
COMMAND mkdir -p ${output_dir}
- COMMAND ${VPP_APIGEN}
+ COMMAND ${PYENV} ${VPP_APIGEN}
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}"
endif()
add_custom_command (OUTPUT ${output_name}
COMMAND mkdir -p ${output_dir}
- COMMAND ${VPP_APIGEN}
+ COMMAND ${PYENV} ${VPP_APIGEN}
ARGS ${includedir} --includedir ${CMAKE_SOURCE_DIR} --input ${CMAKE_CURRENT_SOURCE_DIR}/${file} JSON --output ${output_name}
DEPENDS ${VPP_APIGEN} ${CMAKE_CURRENT_SOURCE_DIR}/${file}
COMMENT "Generating API header ${output_name}"
add_custom_command(
OUTPUT ${output_name}
WORKING_DIRECTORY ${VPP_BINARY_DIR}/vpp-api/vapi
- COMMAND ${VPP_VAPI_C_GEN}
+ COMMAND ${PYENV} ${VPP_VAPI_C_GEN}
ARGS --remove-path ${input}
DEPENDS ${input} ${VPP_VAPI_C_GEN_DEPENDS}
COMMENT "Generating VAPI C header ${output_name}"
add_custom_command(
OUTPUT ${output_name}
WORKING_DIRECTORY ${VPP_BINARY_DIR}/vpp-api/vapi
- COMMAND ${VPP_VAPI_CPP_GEN}
+ COMMAND ${PYENV} ${VPP_VAPI_CPP_GEN}
ARGS --gen-h-prefix=vapi --remove-path ${input}
DEPENDS ${input} ${VPP_VAPI_CPP_GEN_DEPENDS}
COMMENT "Generating VAPI C++ header ${output_name}"
add_custom_command(
OUTPUT fake.api.vapi.h
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/vapi_c_gen.py
+ COMMAND ${PYENV} ${CMAKE_CURRENT_SOURCE_DIR}/vapi_c_gen.py
ARGS --remove-path ${CMAKE_CURRENT_SOURCE_DIR}/fake.api.json
DEPENDS fake.api.json
COMMENT "Generating fake VAPI C header ${output_name}"
add_custom_command(
OUTPUT fake.api.vapi.hpp
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/vapi_cpp_gen.py
+ COMMAND ${PYENV} ${CMAKE_CURRENT_SOURCE_DIR}/vapi_cpp_gen.py
ARGS --remove-path ${CMAKE_CURRENT_SOURCE_DIR}/fake.api.json
DEPENDS fake.api.json
COMMENT "Generating fake VAPI C++ header ${output_name}"