diff options
author | Éanna Ó Catháin <eanna.ocathain@arm.com> | 2021-04-07 14:35:25 +0100 |
---|---|---|
committer | Jim Flynn <jim.flynn@arm.com> | 2021-05-07 09:11:52 +0000 |
commit | c6ab02a626e15b4a12fc09ecd844eb8b95380c3c (patch) | |
tree | 9912ed9cdb89cdb24483b22d6621ae30049ae321 /samples/ObjectDetection/cmake | |
parent | e813d67f86df41a238ff79b5c554ef5027f56576 (diff) | |
download | armnn-c6ab02a626e15b4a12fc09ecd844eb8b95380c3c.tar.gz |
MLECO-1252 ASR sample application using the public ArmNN C++ API.
Change-Id: I98cd505b8772a8c8fa88308121bc94135bb45068
Signed-off-by: Éanna Ó Catháin <eanna.ocathain@arm.com>
Diffstat (limited to 'samples/ObjectDetection/cmake')
-rw-r--r-- | samples/ObjectDetection/cmake/aarch64-toolchain.cmake | 20 | ||||
-rw-r--r-- | samples/ObjectDetection/cmake/arm-linux-gnueabihf-toolchain.cmake | 20 | ||||
-rw-r--r-- | samples/ObjectDetection/cmake/find_armnn.cmake | 35 | ||||
-rw-r--r-- | samples/ObjectDetection/cmake/find_catch.cmake | 16 | ||||
-rw-r--r-- | samples/ObjectDetection/cmake/find_opencv.cmake | 203 | ||||
-rw-r--r-- | samples/ObjectDetection/cmake/unit_tests.cmake | 6 |
6 files changed, 3 insertions, 297 deletions
diff --git a/samples/ObjectDetection/cmake/aarch64-toolchain.cmake b/samples/ObjectDetection/cmake/aarch64-toolchain.cmake deleted file mode 100644 index bdd02f88c0..0000000000 --- a/samples/ObjectDetection/cmake/aarch64-toolchain.cmake +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright © 2020 Arm Ltd and Contributors. All rights reserved. -# SPDX-License-Identifier: MIT - -# specify the cross compiler -set(GNU_MACHINE "aarch64-linux-gnu") -set(CROSS_PREFIX "aarch64-linux-gnu-") - -set(CMAKE_C_COMPILER ${CROSS_PREFIX}gcc) -set(CMAKE_CXX_COMPILER ${CROSS_PREFIX}g++) -set(CMAKE_AR ${CROSS_PREFIX}ar) -set(CMAKE_STRIP ${CROSS_PREFIX}strip) -set(CMAKE_LINKER ${CROSS_PREFIX}ld) - -set(CMAKE_CROSSCOMPILING true) -set(CMAKE_SYSTEM_NAME Linux) - -set(CMAKE_SYSTEM_PROCESSOR aarch64) - -set(OPENCV_EXTRA_ARGS "-DENABLE_NEON=ON" - "-DCMAKE_TOOLCHAIN_FILE=platforms/linux/aarch64-gnu.toolchain.cmake")
\ No newline at end of file diff --git a/samples/ObjectDetection/cmake/arm-linux-gnueabihf-toolchain.cmake b/samples/ObjectDetection/cmake/arm-linux-gnueabihf-toolchain.cmake deleted file mode 100644 index f66b964c35..0000000000 --- a/samples/ObjectDetection/cmake/arm-linux-gnueabihf-toolchain.cmake +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright © 2020 Arm Ltd and Contributors. All rights reserved. -# SPDX-License-Identifier: MIT - -# specify the cross compiler -set(GNU_MACHINE "arm-linux-gnueabihf") -set(CROSS_PREFIX "arm-linux-gnueabihf-") - -set(CMAKE_C_COMPILER ${CROSS_PREFIX}gcc) -set(CMAKE_CXX_COMPILER ${CROSS_PREFIX}g++) -set(CMAKE_AR ${CROSS_PREFIX}ar) -set(CMAKE_STRIP ${CROSS_PREFIX}strip) -set(CMAKE_LINKER ${CROSS_PREFIX}ld) - -set(CMAKE_CROSSCOMPILING true) -set(CMAKE_SYSTEM_NAME Linux) - -set(CMAKE_SYSTEM_PROCESSOR arm) - -set(OPENCV_EXTRA_ARGS "-DENABLE_NEON=ON" - "-DCMAKE_TOOLCHAIN_FILE=platforms/linux/arm.toolchain.cmake")
\ No newline at end of file diff --git a/samples/ObjectDetection/cmake/find_armnn.cmake b/samples/ObjectDetection/cmake/find_armnn.cmake deleted file mode 100644 index 289e9127f6..0000000000 --- a/samples/ObjectDetection/cmake/find_armnn.cmake +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright © 2020 Arm Ltd and Contributors. All rights reserved. -# SPDX-License-Identifier: MIT -# Search for ArmNN built libraries in user-provided path first, then current repository, then system - -set(ARMNN_LIB_NAMES "libarmnn.so" - "libarmnnTfLiteParser.so") - -set(ARMNN_LIBS "") - -get_filename_component(PARENT_DIR ${PROJECT_SOURCE_DIR} DIRECTORY) -get_filename_component(REPO_DIR ${PARENT_DIR} DIRECTORY) - -foreach(armnn_lib ${ARMNN_LIB_NAMES}) - find_library(ARMNN_${armnn_lib} - NAMES - ${armnn_lib} - HINTS - ${ARMNN_LIB_DIR} ${REPO_DIR} - PATHS - ${ARMNN_LIB_DIR} ${REPO_DIR} - PATH_SUFFIXES - "lib" - "lib64") - if(ARMNN_${armnn_lib}) - message("Found library ${ARMNN_${armnn_lib}}") - list(APPEND ARMNN_LIBS ${ARMNN_${armnn_lib}}) - get_filename_component(LIB_DIR ${ARMNN_${armnn_lib}} DIRECTORY) - get_filename_component(LIB_PARENT_DIR ${LIB_DIR} DIRECTORY) - set(ARMNN_INCLUDE_DIR ${LIB_PARENT_DIR}/include) - endif() -endforeach() - -if(NOT ARMNN_LIBS) - message(FATAL_ERROR "Could not find ArmNN libraries ${ARMNN_LIB_NAMES}") -endif() diff --git a/samples/ObjectDetection/cmake/find_catch.cmake b/samples/ObjectDetection/cmake/find_catch.cmake deleted file mode 100644 index 584b8073bd..0000000000 --- a/samples/ObjectDetection/cmake/find_catch.cmake +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright © 2020 Arm Ltd and Contributors. All rights reserved. -# SPDX-License-Identifier: MIT - -#Test TPIP -set(TEST_TPIP ${DEPENDENCIES_DIR}/test) -file(MAKE_DIRECTORY ${TEST_TPIP}) -set(TEST_TPIP_INCLUDE ${TEST_TPIP}/include) -file(MAKE_DIRECTORY ${TEST_TPIP_INCLUDE}) - -ExternalProject_Add(catch2-headers - URL https://github.com/catchorg/Catch2/releases/download/v2.11.1/catch.hpp - DOWNLOAD_NO_EXTRACT 1 - CONFIGURE_COMMAND "" - BUILD_COMMAND ${CMAKE_COMMAND} -E copy <DOWNLOAD_DIR>/catch.hpp ${TEST_TPIP_INCLUDE} - INSTALL_COMMAND "" - )
\ No newline at end of file diff --git a/samples/ObjectDetection/cmake/find_opencv.cmake b/samples/ObjectDetection/cmake/find_opencv.cmake deleted file mode 100644 index 92086e1316..0000000000 --- a/samples/ObjectDetection/cmake/find_opencv.cmake +++ /dev/null @@ -1,203 +0,0 @@ -# Copyright © 2020 Arm Ltd and Contributors. All rights reserved. -# SPDX-License-Identifier: MIT - -set(OPENCV_VERSION 4.0.0) -set(FFMPEG_VERSION 4.2.1) -set(LIBX264_VERSION stable) - -set(OPENCV_LIB OpenCV${OPENCV_VERSION}) -set(FFMPEG_LIB ffmpeg${FFMPEG_VERSION}) -set(X264_LIB x264${LIBX264_VERSION}) - -set(OPENCV_NAMES - libopencv_core.so.${OPENCV_VERSION} - libopencv_imgproc.so.${OPENCV_VERSION} - libopencv_imgcodecs.so.${OPENCV_VERSION} - libopencv_videoio.so.${OPENCV_VERSION} - libopencv_video.so.${OPENCV_VERSION} - libopencv_highgui.so.${OPENCV_VERSION}) - -set(OPENCV_LIBS) -set(FFMPEG_LIBS) - -foreach(opencv_lib ${OPENCV_NAMES}) - find_library(OPENCV_${opencv_lib} - NAMES - ${opencv_lib} - HINTS - ${OPENCV_LIB_DIR} - PATHS - ${OPENCV_LIB_DIR} - PATH_SUFFIXES - "lib" - "lib64") - if(OPENCV_${opencv_lib}) - message("Found library ${OPENCV_${opencv_lib}}") - list(APPEND OPENCV_LIBS ${OPENCV_${opencv_lib}}) - get_filename_component(OPENCV_LIB_DIR ${OPENCV_${opencv_lib}} DIRECTORY) - get_filename_component(OPENCV_ROOT_DIR ${OPENCV_LIB_DIR} DIRECTORY) - set(OPENCV_INCLUDE_DIR ${OPENCV_ROOT_DIR}/include/opencv4) - endif() -endforeach() - -if(OPENCV_LIBS) - message("OpenCV libraries found") - set(OPENCV_LIBS_FOUND TRUE) -else() - set(OPENCV_ROOT_DIR ${DEPENDENCIES_DIR}/opencv) - set(OPENCV_DEPENDENCIES_ARGS) - set(OPENCV_EXTRA_LINKER_ARGS) - set(OPENCV_PKGCONFIG) - - if(CMAKE_CROSSCOMPILING) - set(FFMPEG_ROOT_DIR ${DEPENDENCIES_DIR}/ffmpeg) - set(LIBX264_ROOT_DIR ${DEPENDENCIES_DIR}/x264) - - if (CMAKE_BUILD_TYPE STREQUAL Debug) - set(CONFIGURE_DEBUG --enable-debug) - set(OPENCV_DEBUG "-DBUILD_WITH_DEBUG_INFO=ON") - endif() - - - ExternalProject_Add(${X264_LIB} - URL "https://code.videolan.org/videolan/x264/-/archive/${LIBX264_VERSION}/x264-${LIBX264_VERSION}.tar.gz" - DOWNLOAD_DIR ${LIBX264_ROOT_DIR} - PREFIX ${LIBX264_ROOT_DIR} - CONFIGURE_COMMAND <SOURCE_DIR>/configure - --host=${GNU_MACHINE} - --enable-static - --enable-shared - --cross-prefix=${CROSS_PREFIX} - --prefix=${CMAKE_BINARY_DIR} - --extra-ldflags=-static-libstdc++ - --extra-cflags=-fPIC - ${CONFIGURE_DEBUG} - INSTALL_DIR ${CMAKE_BINARY_DIR} - BUILD_COMMAND $(MAKE) - INSTALL_COMMAND $(MAKE) install - ) - - set(FFMPEG_Config - --enable-shared - --enable-cross-compile - --cross-prefix=${CROSS_PREFIX} - --arch=${CMAKE_SYSTEM_PROCESSOR} - --target-os=linux - --prefix=${CMAKE_BINARY_DIR} - --enable-gpl - --enable-nonfree - --enable-libx264 - --extra-cflags=-I${CMAKE_BINARY_DIR}/include - --extra-cflags=-fPIC - --extra-ldflags=-L${CMAKE_BINARY_DIR}/lib - --extra-libs=-ldl - --extra-libs=-static-libstdc++ - ) - - ExternalProject_Add(${FFMPEG_LIB} - URL "https://github.com/FFmpeg/FFmpeg/archive/n${FFMPEG_VERSION}.tar.gz" - URL_HASH MD5=05792c611d1e3ebdf2c7003ff4467390 - DOWNLOAD_DIR ${FFMPEG_ROOT_DIR} - PREFIX ${FFMPEG_ROOT_DIR} - CONFIGURE_COMMAND <SOURCE_DIR>/configure ${FFMPEG_Config} ${CONFIGURE_DEBUG} - INSTALL_DIR ${CMAKE_BINARY_DIR} - BUILD_COMMAND $(MAKE) VERBOSE=1 - INSTALL_COMMAND $(MAKE) install - ) - - set(OPENCV_DEPENDENCIES_ARGS "-static-libstdc++ -Wl,-rpath,${CMAKE_BINARY_DIR}/lib") - set(OPENCV_EXTRA_LINKER_ARGS "-DOPENCV_EXTRA_EXE_LINKER_FLAGS=${OPENCV_DEPENDENCIES_ARGS}") - - set(OPENCV_PKGCONFIG "PKG_CONFIG_LIBDIR=${CMAKE_BINARY_DIR}/lib/pkgconfig") - - set(FFMPEG_NAMES - libavcodec.so - libavformat.so - libavutil.so - libswscale.so - ) - - foreach(ffmpeg_lib ${FFMPEG_NAMES}) - add_library(FFMPEG_${ffmpeg_lib} SHARED IMPORTED) - set_target_properties(FFMPEG_${ffmpeg_lib} PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/${ffmpeg_lib}) - list(APPEND OPENCV_LIBS FFMPEG_${ffmpeg_lib}) - endforeach() - - add_library(X264_lib264.so SHARED IMPORTED) - set_target_properties(X264_lib264.so PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/libx264.so) - list(APPEND OPENCV_LIBS X264_lib264.so) - endif() - - set(OPENCV_CMAKE_ARGS - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DCMAKE_C_FLAGS=-fPIC - -DCMAKE_CXX_FLAGS=-fPIC - -DWITH_GTK=OFF - -DWITH_JPEG=ON - -DWITH_IPP=OFF - -DBUILD_opencv_java_bindings_generator=OFF - -DBUILD_opencv_ml=OFF - -DBUILD_opencv_objdetect=OFF - -DBUILD_opencv_photo=OFF - -DBUILD_opencv_python_bindings_generator=OFF - -DBUILD_opencv_stitching=OFF - -DBUILD_opencv_gapi=OFF - -DBUILD_opencv_features2d=OFF - -DBUILD_opencv_dnn=OFF - -DBUILD_opencv_flann=OFF - -DBUILD_opencv_calib3d=OFF - -DBUILD_opencv_python2=OFF - -DBUILD_opencv_python3=OFF - -DBUILD_opencv_java=OFF - -DBUILD_opencv_js=OFF - -DBUILD_opencv_ts=OFF - -DBUILD_JPEG=ON - -DBUILD_JPEG_TURBO_DISABLE=ON - -DBUILD_PNG=ON - -DBUILD_TIFF=ON - -DZLIB_FOUND=OFF - -DBUILD_ZLIB=ON - -DBUILD_PERF_TESTS=OFF - -DBUILD_TESTS=OFF - -DBUILD_DOCS=OFF - -DBUILD_opencv_apps=OFF - -DBUILD_EXAMPLES=OFF - -DWITH_V4L=ON - -DWITH_LIBV4L=OFF - -DWITH_FFMPEG=ON - -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} - -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} - -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} - -DCMAKE_INSTALL_RPATH=\$ORIGIN:\$ORIGIN/lib:\$ORIGIN/../lib - -DCMAKE_SHARED_LINKER_FLAGS=-static-libstdc++ - ${OPENCV_DEBUG} - ) - - ExternalProject_Add(${OPENCV_LIB} - URL "https://codeload.github.com/opencv/opencv/tar.gz/${OPENCV_VERSION}" - URL_HASH MD5=f051c1ff7b327b60123d71b53801b316 - DOWNLOAD_DIR ${OPENCV_ROOT_DIR} - PREFIX ${OPENCV_ROOT_DIR} - CONFIGURE_COMMAND ${OPENCV_PKGCONFIG} - ${CMAKE_COMMAND} ${OPENCV_CMAKE_ARGS} ${OPENCV_EXTRA_ARGS} - ${OPENCV_EXTRA_LINKER_ARGS} ${OPENCV_ROOT_DIR}/src/${OPENCV_LIB} - INSTALL_DIR ${CMAKE_BINARY_DIR} - BUILD_COMMAND $(MAKE) - INSTALL_COMMAND $(MAKE) install - ) - - if(CMAKE_CROSSCOMPILING) - ExternalProject_Add_StepDependencies(${FFMPEG_LIB} build ${X264_LIB}) - ExternalProject_Add_StepDependencies(${OPENCV_LIB} build ${FFMPEG_LIB}) - endif() - - set(OPENCV_INCLUDE_DIR ${CMAKE_BINARY_DIR}/include/opencv4) - set(OPENCV_LIB_DIR ${CMAKE_BINARY_DIR}/lib) - - foreach(opencv_lib ${OPENCV_NAMES}) - add_library(OPENCV_${opencv_lib} SHARED IMPORTED) - set_target_properties(OPENCV_${opencv_lib} PROPERTIES IMPORTED_LOCATION ${OPENCV_LIB_DIR}/${opencv_lib}) - list(APPEND OPENCV_LIBS OPENCV_${opencv_lib}) - endforeach() - -endif()
\ No newline at end of file diff --git a/samples/ObjectDetection/cmake/unit_tests.cmake b/samples/ObjectDetection/cmake/unit_tests.cmake index dcfa512893..1a8c466d6b 100644 --- a/samples/ObjectDetection/cmake/unit_tests.cmake +++ b/samples/ObjectDetection/cmake/unit_tests.cmake @@ -7,7 +7,7 @@ set(TEST_TARGET_NAME "${CMAKE_PROJECT_NAME}-tests") file(GLOB TEST_SOURCES "test/*") -include(cmake/find_catch.cmake) +include(../common/cmake/find_catch.cmake) file(DOWNLOAD "https://storage.googleapis.com/download.tensorflow.org/models/tflite/coco_ssd_mobilenet_v1_1.0_quant_2018_06_29.zip" ${CMAKE_CURRENT_SOURCE_DIR}/test/resources/models.zip SHOW_PROGRESS) @@ -43,7 +43,7 @@ ExternalProject_Add(vtest INSTALL_COMMAND "" ) -add_executable("${TEST_TARGET_NAME}" ${SOURCES} ${TEST_SOURCES}) +add_executable("${TEST_TARGET_NAME}" ${SOURCES} ${TEST_SOURCES} ${COMMON_SOURCES}) add_dependencies( "${TEST_TARGET_NAME}" @@ -60,6 +60,6 @@ endif() target_include_directories("${TEST_TARGET_NAME}" PUBLIC ${TEST_TPIP_INCLUDE} ${ARMNN_INCLUDE_DIR} - ${OPENCV_INCLUDE_DIR} ${DEPENDENCIES_DIR} ${TEST_RESOURCES_DIR}) + ${OPENCV_INCLUDE_DIR} ${DEPENDENCIES_DIR} ${TEST_RESOURCES_DIR} ${COMMON_INCLUDE_DIR}) target_link_libraries("${TEST_TARGET_NAME}" PUBLIC ${ARMNN_LIBS} ${OPENCV_LIBS} ${FFMPEG_LIBS})
\ No newline at end of file |