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) 5add_definitions (-DTEST_RESOURCE_DIR="${TEST_RESOURCES_DIR}") 6set(TEST_TARGET_NAME "${CMAKE_PROJECT_NAME}-tests") 7 8file(GLOB TEST_SOURCES "test/*") 9 10include(cmake/find_catch.cmake) 11 12file(DOWNLOAD "https://storage.googleapis.com/download.tensorflow.org/models/tflite/coco_ssd_mobilenet_v1_1.0_quant_2018_06_29.zip" 13 ${CMAKE_CURRENT_SOURCE_DIR}/test/resources/models.zip SHOW_PROGRESS) 14 15# Extract 16execute_process( 17 COMMAND ${CMAKE_COMMAND} -E tar xf models.zip 18 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test/resources/ 19 RESULT_VARIABLE return_code 20) 21 22ExternalProject_Add(basketball-image 23 URL https://raw.githubusercontent.com/opencv/opencv/4.0.0/samples/data/basketball1.png 24 DOWNLOAD_NO_EXTRACT 1 25 CONFIGURE_COMMAND "" 26 BUILD_COMMAND ${CMAKE_COMMAND} -E copy <DOWNLOAD_DIR>/basketball1.png ${CMAKE_CURRENT_SOURCE_DIR}/test/resources 27 INSTALL_COMMAND "" 28) 29 30ExternalProject_Add(messi 31 URL https://raw.githubusercontent.com/opencv/opencv/4.0.0/samples/data/messi5.jpg 32 DOWNLOAD_NO_EXTRACT 1 33 CONFIGURE_COMMAND "" 34 BUILD_COMMAND ${CMAKE_COMMAND} -E copy <DOWNLOAD_DIR>/messi5.jpg ${CMAKE_CURRENT_SOURCE_DIR}/test/resources 35 INSTALL_COMMAND "" 36 ) 37 38ExternalProject_Add(vtest 39 URL https://raw.githubusercontent.com/opencv/opencv/4.0.0/samples/data/Megamind.avi 40 DOWNLOAD_NO_EXTRACT 1 41 CONFIGURE_COMMAND "" 42 BUILD_COMMAND ${CMAKE_COMMAND} -E copy <DOWNLOAD_DIR>/Megamind.avi ${CMAKE_CURRENT_SOURCE_DIR}/test/resources 43 INSTALL_COMMAND "" 44 ) 45 46add_executable("${TEST_TARGET_NAME}" ${SOURCES} ${TEST_SOURCES}) 47 48add_dependencies( 49 "${TEST_TARGET_NAME}" 50 "catch2-headers" 51 "vtest" 52 "messi" 53 "basketball-image" 54) 55 56if (NOT OPENCV_LIBS_FOUND) 57 message("Building OpenCV libs") 58 add_dependencies("${TEST_TARGET_NAME}" "${OPENCV_LIB}") 59endif() 60 61target_include_directories("${TEST_TARGET_NAME}" PUBLIC ${TEST_TPIP_INCLUDE} 62 ${ARMNN_INCLUDE_DIR} 63 ${OPENCV_INCLUDE_DIR} ${DEPENDENCIES_DIR} ${TEST_RESOURCES_DIR}) 64 65target_link_libraries("${TEST_TARGET_NAME}" PUBLIC ${ARMNN_LIBS} ${OPENCV_LIBS} ${FFMPEG_LIBS})