1# Copyright © 2020 Arm Ltd and Contributors. All rights reserved. 2# SPDX-License-Identifier: MIT 3 4set(TEST_RESOURCES_DIR ${CMAKE_SOURCE_DIR}/test/resources) 5file(MAKE_DIRECTORY ${TEST_RESOURCES_DIR}) 6add_definitions (-DTEST_RESOURCE_DIR="${TEST_RESOURCES_DIR}") 7set(TEST_TARGET_NAME "${CMAKE_PROJECT_NAME}-tests") 8 9include(../common/cmake/find_catch.cmake) 10 11ExternalProject_Add(basketball-image 12 URL https://raw.githubusercontent.com/opencv/opencv/4.0.0/samples/data/basketball1.png 13 DOWNLOAD_NO_EXTRACT 1 14 CONFIGURE_COMMAND "" 15 BUILD_COMMAND ${CMAKE_COMMAND} -E copy <DOWNLOAD_DIR>/basketball1.png ${CMAKE_CURRENT_SOURCE_DIR}/test/resources 16 INSTALL_COMMAND "" 17) 18 19ExternalProject_Add(messi 20 URL https://raw.githubusercontent.com/opencv/opencv/4.0.0/samples/data/messi5.jpg 21 DOWNLOAD_NO_EXTRACT 1 22 CONFIGURE_COMMAND "" 23 BUILD_COMMAND ${CMAKE_COMMAND} -E copy <DOWNLOAD_DIR>/messi5.jpg ${CMAKE_CURRENT_SOURCE_DIR}/test/resources 24 INSTALL_COMMAND "" 25 ) 26 27ExternalProject_Add(vtest 28 URL https://raw.githubusercontent.com/opencv/opencv/4.0.0/samples/data/Megamind.avi 29 DOWNLOAD_NO_EXTRACT 1 30 CONFIGURE_COMMAND "" 31 BUILD_COMMAND ${CMAKE_COMMAND} -E copy <DOWNLOAD_DIR>/Megamind.avi ${CMAKE_CURRENT_SOURCE_DIR}/test/resources 32 INSTALL_COMMAND "" 33 ) 34 35ExternalProject_Add(ssd_mobile 36 URL https://github.com/ARM-software/ML-zoo/raw/master/models/object_detection/ssd_mobilenet_v1/tflite_uint8/ssd_mobilenet_v1.tflite 37 DOWNLOAD_NO_EXTRACT 1 38 CONFIGURE_COMMAND "" 39 BUILD_COMMAND ${CMAKE_COMMAND} -E copy <DOWNLOAD_DIR>/ssd_mobilenet_v1.tflite ${CMAKE_CURRENT_SOURCE_DIR}/test/resources 40 INSTALL_COMMAND "" 41 ) 42 43ExternalProject_Add(yolo_v3 44 URL https://github.com/ARM-software/ML-zoo/raw/master/models/object_detection/yolo_v3_tiny/tflite_fp32/yolo_v3_tiny_darknet_fp32.tflite 45 DOWNLOAD_NO_EXTRACT 1 46 CONFIGURE_COMMAND "" 47 BUILD_COMMAND ${CMAKE_COMMAND} -E copy <DOWNLOAD_DIR>/yolo_v3_tiny_darknet_fp32.tflite ${CMAKE_CURRENT_SOURCE_DIR}/test/resources 48 INSTALL_COMMAND "" 49 ) 50 51add_executable("${TEST_TARGET_NAME}" ${SOURCES} ${TEST_SOURCES} ${CVUTILS_SOURCES} ${UTILS_SOURCES}) 52 53add_dependencies( 54 "${TEST_TARGET_NAME}" 55 "catch2-headers" 56 "vtest" 57 "messi" 58 "basketball-image" 59) 60 61if (NOT OPENCV_LIBS_FOUND) 62 message("Building OpenCV libs") 63 add_dependencies("${TEST_TARGET_NAME}" "${OPENCV_LIB}") 64endif() 65 66target_include_directories("${TEST_TARGET_NAME}" PUBLIC ${TEST_TPIP_INCLUDE} 67 ${ARMNN_INCLUDE_DIR} 68 ${OPENCV_INCLUDE_DIR} ${DEPENDENCIES_DIR} ${TEST_RESOURCES_DIR} ${COMMON_INCLUDE_DIR}) 69 70target_link_libraries("${TEST_TARGET_NAME}" PUBLIC ${ARMNN_LIBS} ${OPENCV_LIBS} ${FFMPEG_LIBS}) 71if( USE_ARMNN_DELEGATE ) 72 set(CMAKE_CXX_FLAGS " -ldl -lrt -Wl,--copy-dt-needed-entries") 73 target_link_libraries("${TEST_TARGET_NAME}" PUBLIC ${TfLite_LIB}) 74 target_link_libraries("${TEST_TARGET_NAME}" PUBLIC tflite_headers) 75 target_include_directories("${TEST_TARGET_NAME}" PUBLIC ${Flatbuffers_INCLUDE_DIR}) 76 target_link_libraries("${TEST_TARGET_NAME}" PUBLIC ${Flatbuffers_LIB}) 77endif()