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