| 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() |