blob: 38893b7d67d0a2525816440f916d70b11f91f8ed [file] [log] [blame]
function(softrvv_vec_cc_generated_test)
cmake_parse_arguments(
_RULE
""
"NAME"
"TEMPLATE;LINKOPTS;TIMEOUT"
${ARGN}
)
set(_TEST_NAME "softrvv_${_RULE_NAME}_test")
set(_OP_CODE ${_RULE_NAME})
string(REPLACE ".tpl" "" _TEST_SRC_FILENAME ${_RULE_TEMPLATE})
set(_TEST_SRC ${CMAKE_CURRENT_BINARY_DIR}/generated/${_TEST_SRC_FILENAME})
find_file(_SOFTRVV_GEN_VEC_SCRIPT generate_softrvv_vector_tests.py ${CMAKE_SOURCE_DIR}/scripts)
add_custom_command(
OUTPUT
${_TEST_SRC}
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/templates/${_RULE_TEMPLATE}
${CMAKE_CURRENT_SOURCE_DIR}/templates/base.tpl.cpp
${CMAKE_CURRENT_SOURCE_DIR}/templates/opivv_opivx_test.tpl.cpp
COMMAND python3 ${_SOFTRVV_GEN_VEC_SCRIPT}
--template-path=${CMAKE_CURRENT_SOURCE_DIR}/templates/
--template=${_RULE_TEMPLATE}
--out-path=${CMAKE_CURRENT_BINARY_DIR}/generated/
--op=${_OP_CODE}
)
vec_cc_test(
NAME
${_TEST_NAME}
SRCS
${_TEST_SRC}
DEPS
softrvv
LINKOPTS
${_RULE_LINKOPTS}
TIMEOUT
${_RULE_TIMEOUT}
)
endfunction()