blob: 6b2a9bb471c61685af02ae804479856fc2b4a11d [file] [log] [blame]
Éanna Ó Catháin919c14e2020-09-14 17:36:49 +01001# Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
2# SPDX-License-Identifier: MIT
3
4set(TEST_RESOURCES_DIR ${CMAKE_SOURCE_DIR}/test/resources)
George Gekov23c26272021-08-16 11:32:10 +01005file(MAKE_DIRECTORY ${TEST_RESOURCES_DIR})
Éanna Ó Catháin919c14e2020-09-14 17:36:49 +01006add_definitions (-DTEST_RESOURCE_DIR="${TEST_RESOURCES_DIR}")
7set(TEST_TARGET_NAME "${CMAKE_PROJECT_NAME}-tests")
8
Éanna Ó Catháinc6ab02a2021-04-07 14:35:25 +01009include(../common/cmake/find_catch.cmake)
Éanna Ó Catháin919c14e2020-09-14 17:36:49 +010010
Éanna Ó Catháin919c14e2020-09-14 17:36:49 +010011ExternalProject_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
George Gekov23c26272021-08-16 11:32:10 +010035ExternalProject_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
Eanna O Cathain2f0ddb62022-03-03 15:58:10 +000043ExternalProject_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
George Gekov23c26272021-08-16 11:32:10 +010051add_executable("${TEST_TARGET_NAME}" ${SOURCES} ${TEST_SOURCES} ${CVUTILS_SOURCES} ${UTILS_SOURCES})
Éanna Ó Catháin919c14e2020-09-14 17:36:49 +010052
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}
Éanna Ó Catháinc6ab02a2021-04-07 14:35:25 +010068 ${OPENCV_INCLUDE_DIR} ${DEPENDENCIES_DIR} ${TEST_RESOURCES_DIR} ${COMMON_INCLUDE_DIR})
Éanna Ó Catháin919c14e2020-09-14 17:36:49 +010069
Eanna O Cathain2f0ddb62022-03-03 15:58:10 +000070target_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()