| cmake_minimum_required(VERSION 3.10) |
| |
| set (OPERAND_TYPES VV VX VI) |
| |
| foreach(OPERAND_TYPE ${OPERAND_TYPES}) |
| project(vector_vadd_vsub_tests_${OPERAND_TYPE}) |
| |
| string(TOLOWER ${OPERAND_TYPE} OP_SUFFIX) |
| |
| set(TARGET vector_vadd_vsub_tests_${OP_SUFFIX}) |
| set(ELF ${TARGET}.elf) |
| |
| add_executable(${ELF} vector_vadd_vsub_tests.c) |
| |
| target_include_directories(${ELF} PUBLIC include) |
| |
| set_target_properties(${ELF} PROPERTIES LINK_DEPENDS "${LINKER_SCRIPT}") |
| |
| target_link_libraries(${ELF} vector_tests) |
| |
| set_target_properties( |
| ${ELF} |
| PROPERTIES |
| LINK_FLAGS |
| "-T${LINKER_SCRIPT} \ |
| -specs=nano.specs \ |
| -Wl,--gc-sections \ |
| -Wl,--print-memory-usage \ |
| -Wl,-Map=${PROJECT_NAME}.map") |
| |
| target_compile_options(${ELF} PUBLIC |
| -nostdlib |
| -ffreestanding |
| -ffunction-sections |
| -Wall |
| -Werror |
| -Wno-unused-value |
| -O3 |
| -g |
| -D=TEST_${OPERAND_TYPE}) |
| |
| endforeach() |