feat: Update NNSDK path and library linking in CMake configurations and Android build script, and add a new script to build all Android examples.
This commit is contained in:
parent
f3447fd563
commit
79a2bd27f6
14 changed files with 240 additions and 50 deletions
120
examples/build-android-all.sh
Executable file
120
examples/build-android-all.sh
Executable file
|
|
@ -0,0 +1,120 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#
|
||||||
|
# Copyright (C) 2024–2025 Amlogic, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
echo "Usage: $0 [-a <target_abi>]"
|
||||||
|
echo " -a <target_abi> : Target ABI (default: arm64-v8a)"
|
||||||
|
echo " -h : Show this help message"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Default values
|
||||||
|
TARGET_ABI=arm64-v8a
|
||||||
|
|
||||||
|
# Parse arguments
|
||||||
|
while getopts 'a:h' opt; do
|
||||||
|
case "$opt" in
|
||||||
|
a)
|
||||||
|
TARGET_ABI=$OPTARG
|
||||||
|
;;
|
||||||
|
h)
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "${ANDROID_NDK_PATH}" ]; then
|
||||||
|
if [ -n "${ANDROID_NDK}" ]; then
|
||||||
|
ANDROID_NDK_PATH=${ANDROID_NDK}
|
||||||
|
elif [ -n "${ANDROID_NDK_HOME}" ]; then
|
||||||
|
ANDROID_NDK_PATH=${ANDROID_NDK_HOME}
|
||||||
|
else
|
||||||
|
echo "Error: ANDROID_NDK_PATH is not set."
|
||||||
|
echo "Please set ANDROID_NDK_PATH to your Android NDK directory."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
SCRIPT_DIR=$(cd "$(dirname $0)" && pwd)
|
||||||
|
|
||||||
|
echo "============================================"
|
||||||
|
echo "Building all Android examples"
|
||||||
|
echo "NDK_PATH: ${ANDROID_NDK_PATH}"
|
||||||
|
echo "TARGET_ABI: ${TARGET_ABI}"
|
||||||
|
echo "============================================"
|
||||||
|
|
||||||
|
# List all examples that have a build-android.sh
|
||||||
|
EXAMPLES=(
|
||||||
|
"clip/cpp"
|
||||||
|
"mobilenet/cpp"
|
||||||
|
"ppocr-det/cpp"
|
||||||
|
"resnet/cpp"
|
||||||
|
"retinaface/cpp"
|
||||||
|
"whisper/cpp"
|
||||||
|
"yoloe/cpp"
|
||||||
|
"yolov11/cpp"
|
||||||
|
"yolov8/cpp"
|
||||||
|
"yoloworld/cpp"
|
||||||
|
"yolox/cpp"
|
||||||
|
)
|
||||||
|
|
||||||
|
FAILED=()
|
||||||
|
SUCCEEDED=()
|
||||||
|
|
||||||
|
for EXAMPLE in "${EXAMPLES[@]}"; do
|
||||||
|
EXAMPLE_DIR="${SCRIPT_DIR}/${EXAMPLE}"
|
||||||
|
BUILD_SCRIPT="${EXAMPLE_DIR}/build-android.sh"
|
||||||
|
|
||||||
|
if [ ! -f "${BUILD_SCRIPT}" ]; then
|
||||||
|
echo "WARNING: No build-android.sh found for ${EXAMPLE}, skipping."
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "--------------------------------------------"
|
||||||
|
echo "Building: ${EXAMPLE}"
|
||||||
|
echo "--------------------------------------------"
|
||||||
|
|
||||||
|
if bash "${BUILD_SCRIPT}" -a "${TARGET_ABI}"; then
|
||||||
|
SUCCEEDED+=("${EXAMPLE}")
|
||||||
|
echo "[SUCCESS] ${EXAMPLE}"
|
||||||
|
else
|
||||||
|
FAILED+=("${EXAMPLE}")
|
||||||
|
echo "[FAILED] ${EXAMPLE}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "============================================"
|
||||||
|
echo "Build Summary"
|
||||||
|
echo "============================================"
|
||||||
|
echo "Succeeded (${#SUCCEEDED[@]}):"
|
||||||
|
for E in "${SUCCEEDED[@]}"; do echo " - $E"; done
|
||||||
|
|
||||||
|
if [ ${#FAILED[@]} -gt 0 ]; then
|
||||||
|
echo ""
|
||||||
|
echo "Failed (${#FAILED[@]}):"
|
||||||
|
for E in "${FAILED[@]}"; do echo " - $E"; done
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "All examples built successfully!"
|
||||||
|
|
@ -4,7 +4,12 @@ project(clip_demo)
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
# Set NNSDK path
|
||||||
set(NNSDK_ROOT "${CMAKE_SOURCE_DIR}/../../../../dependency/nnsdk")
|
if(NOT DEFINED NNSDK_DIR)
|
||||||
|
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
||||||
|
endif()
|
||||||
|
set(NNSDK_ROOT "${NNSDK_DIR}")
|
||||||
|
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
include_directories(${NNSDK_ROOT}/include)
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
|
|
@ -18,14 +23,14 @@ include_directories(${3RDPARTY_DIR}/json)
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a)
|
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
||||||
else()
|
else()
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a)
|
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
||||||
endif()
|
endif()
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto)
|
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_executable(${PROJECT_NAME}
|
add_executable(${PROJECT_NAME}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,12 @@ project(mobilenet_v2_demo)
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
# Set NNSDK path
|
||||||
set(NNSDK_ROOT "${CMAKE_SOURCE_DIR}/../../../../dependency/nnsdk")
|
if(NOT DEFINED NNSDK_DIR)
|
||||||
|
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
||||||
|
endif()
|
||||||
|
set(NNSDK_ROOT "${NNSDK_DIR}")
|
||||||
|
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
include_directories(${NNSDK_ROOT}/include)
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
|
|
@ -13,14 +18,14 @@ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a)
|
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
||||||
else()
|
else()
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a)
|
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
||||||
endif()
|
endif()
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto)
|
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find OpenCV
|
# Find OpenCV
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,12 @@ project(yolo_world_demo)
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
# Set NNSDK path
|
||||||
# Set NNSDK path
|
if(NOT DEFINED NNSDK_DIR)
|
||||||
set(NNSDK_ROOT "${CMAKE_SOURCE_DIR}/../../../../dependency/nnsdk")
|
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
||||||
|
endif()
|
||||||
|
set(NNSDK_ROOT "${NNSDK_DIR}")
|
||||||
|
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
include_directories(${NNSDK_ROOT}/include)
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
|
|
@ -14,14 +18,14 @@ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a)
|
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
||||||
else()
|
else()
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a)
|
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
||||||
endif()
|
endif()
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto)
|
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find OpenCV
|
# Find OpenCV
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,12 @@ project(resnet_demo)
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
# Set NNSDK path
|
||||||
set(NNSDK_ROOT "${CMAKE_SOURCE_DIR}/../../../../dependency/nnsdk")
|
if(NOT DEFINED NNSDK_DIR)
|
||||||
|
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
||||||
|
endif()
|
||||||
|
set(NNSDK_ROOT "${NNSDK_DIR}")
|
||||||
|
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
include_directories(${NNSDK_ROOT}/include)
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
|
|
@ -13,14 +18,14 @@ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a)
|
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
||||||
else()
|
else()
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a)
|
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
||||||
endif()
|
endif()
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto)
|
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find OpenCV
|
# Find OpenCV
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,12 @@ project(retinaface_demo)
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
# Set NNSDK path
|
||||||
set(NNSDK_ROOT "${CMAKE_SOURCE_DIR}/../../../../dependency/nnsdk")
|
if(NOT DEFINED NNSDK_DIR)
|
||||||
|
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
||||||
|
endif()
|
||||||
|
set(NNSDK_ROOT "${NNSDK_DIR}")
|
||||||
|
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
include_directories(${NNSDK_ROOT}/include)
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
|
|
@ -13,14 +18,14 @@ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a)
|
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
||||||
else()
|
else()
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a)
|
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
||||||
endif()
|
endif()
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto)
|
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find OpenCV
|
# Find OpenCV
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,12 @@ project(whisper_demo)
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
# Set NNSDK path
|
||||||
set(NNSDK_ROOT "${CMAKE_SOURCE_DIR}/../../../../dependency/nnsdk")
|
if(NOT DEFINED NNSDK_DIR)
|
||||||
|
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
||||||
|
endif()
|
||||||
|
set(NNSDK_ROOT "${NNSDK_DIR}")
|
||||||
|
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
include_directories(${NNSDK_ROOT}/include)
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
|
|
@ -13,14 +18,14 @@ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a)
|
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
||||||
else()
|
else()
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a)
|
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
||||||
endif()
|
endif()
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto)
|
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_executable(${PROJECT_NAME}
|
add_executable(${PROJECT_NAME}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,12 @@ project(yoloe_demo)
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
# Set NNSDK path
|
||||||
set(NNSDK_ROOT "${CMAKE_SOURCE_DIR}/../../../../dependency/nnsdk")
|
if(NOT DEFINED NNSDK_DIR)
|
||||||
|
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
||||||
|
endif()
|
||||||
|
set(NNSDK_ROOT "${NNSDK_DIR}")
|
||||||
|
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
include_directories(${NNSDK_ROOT}/include)
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
|
|
@ -13,14 +18,14 @@ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a)
|
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
||||||
else()
|
else()
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a)
|
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
||||||
endif()
|
endif()
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto)
|
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find OpenCV
|
# Find OpenCV
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,12 @@ project(yolo11_demo)
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
# Set NNSDK path
|
||||||
set(NNSDK_ROOT "${CMAKE_SOURCE_DIR}/../../../../dependency/nnsdk")
|
if(NOT DEFINED NNSDK_DIR)
|
||||||
|
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
||||||
|
endif()
|
||||||
|
set(NNSDK_ROOT "${NNSDK_DIR}")
|
||||||
|
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
include_directories(${NNSDK_ROOT}/include)
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
|
|
@ -13,14 +18,14 @@ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a)
|
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
||||||
else()
|
else()
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a)
|
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
||||||
endif()
|
endif()
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto)
|
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find OpenCV
|
# Find OpenCV
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,8 @@ cmake ../../src \
|
||||||
-DANDROID_ABI=${TARGET_ABI} \
|
-DANDROID_ABI=${TARGET_ABI} \
|
||||||
-DANDROID_PLATFORM=android-24 \
|
-DANDROID_PLATFORM=android-24 \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DOpenCV_DIR=${ROOT_PWD}/../../../dependency/opencv/opencv-android-sdk-build/sdk/native/jni/abi-${TARGET_ABI}
|
-DOpenCV_DIR=${ROOT_PWD}/../../../dependency/opencv/opencv-android-sdk-build/sdk/native/jni/abi-${TARGET_ABI} \
|
||||||
|
-DNNSDK_DIR=${ROOT_PWD}/../../../../amlnn-toolkit/nn_runtime/nnsdk
|
||||||
|
|
||||||
make -j4
|
make -j4
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -46,8 +46,13 @@ done
|
||||||
GCC_COMPILER=${GCC_COMPILER:-aarch64-linux-gnu}
|
GCC_COMPILER=${GCC_COMPILER:-aarch64-linux-gnu}
|
||||||
|
|
||||||
# Set compilers
|
# Set compilers
|
||||||
|
if [[ ${GCC_COMPILER} == *"-gcc" ]]; then
|
||||||
|
export CC=${GCC_COMPILER}
|
||||||
|
export CXX=${GCC_COMPILER%-gcc}-g++
|
||||||
|
else
|
||||||
export CC=${GCC_COMPILER}-gcc
|
export CC=${GCC_COMPILER}-gcc
|
||||||
export CXX=${GCC_COMPILER}-g++
|
export CXX=${GCC_COMPILER}-g++
|
||||||
|
fi
|
||||||
|
|
||||||
# Validate compiler
|
# Validate compiler
|
||||||
if ! command -v ${CC} &> /dev/null; then
|
if ! command -v ${CC} &> /dev/null; then
|
||||||
|
|
@ -68,10 +73,21 @@ echo "BUILD_DIR: ${BUILD_DIR}"
|
||||||
mkdir -p ${BUILD_DIR}
|
mkdir -p ${BUILD_DIR}
|
||||||
cd ${BUILD_DIR}
|
cd ${BUILD_DIR}
|
||||||
|
|
||||||
|
# Set OpenCV path
|
||||||
|
if [ "${TARGET_ARCH}" == "aarch64" ]; then
|
||||||
|
OPENCV_DIR_NAME="opencv-linux-aarch64"
|
||||||
|
elif [ "${TARGET_ARCH}" == "armhf" ]; then
|
||||||
|
OPENCV_DIR_NAME="opencv-linux-armhf"
|
||||||
|
else
|
||||||
|
echo "Warning: No OpenCV prebuilt for architecture ${TARGET_ARCH}"
|
||||||
|
fi
|
||||||
|
|
||||||
cmake ../../src \
|
cmake ../../src \
|
||||||
-DCMAKE_SYSTEM_NAME=Linux \
|
-DCMAKE_SYSTEM_NAME=Linux \
|
||||||
-DCMAKE_SYSTEM_PROCESSOR=${TARGET_ARCH} \
|
-DCMAKE_SYSTEM_PROCESSOR=${TARGET_ARCH} \
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DNNSDK_DIR=${ROOT_PWD}/../../../../amlnn-toolkit/nn_runtime/nnsdk \
|
||||||
|
-DOpenCV_DIR=${ROOT_PWD}/../../../dependency/opencv/${OPENCV_DIR_NAME}/share/OpenCV
|
||||||
|
|
||||||
make -j4
|
make -j4
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,12 @@ project(yolo_world_demo)
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
# Set NNSDK path
|
||||||
# Set NNSDK path
|
if(NOT DEFINED NNSDK_DIR)
|
||||||
set(NNSDK_ROOT "${CMAKE_SOURCE_DIR}/../../../../dependency/nnsdk")
|
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
||||||
|
endif()
|
||||||
|
set(NNSDK_ROOT "${NNSDK_DIR}")
|
||||||
|
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
include_directories(${NNSDK_ROOT}/include)
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
|
|
@ -14,14 +18,14 @@ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a)
|
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
||||||
else()
|
else()
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a)
|
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
||||||
endif()
|
endif()
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto)
|
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find OpenCV
|
# Find OpenCV
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,12 @@ project(yolo_world_demo)
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
# Set NNSDK path
|
||||||
set(NNSDK_ROOT "${CMAKE_SOURCE_DIR}/../../../../dependency/nnsdk")
|
if(NOT DEFINED NNSDK_DIR)
|
||||||
|
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
||||||
|
endif()
|
||||||
|
set(NNSDK_ROOT "${NNSDK_DIR}")
|
||||||
|
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
include_directories(${NNSDK_ROOT}/include)
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
|
|
@ -13,14 +18,14 @@ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a)
|
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
||||||
else()
|
else()
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a)
|
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
||||||
endif()
|
endif()
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto)
|
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find OpenCV
|
# Find OpenCV
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,12 @@ project(yolo11_demo)
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
# Set NNSDK path
|
||||||
set(NNSDK_ROOT "${CMAKE_SOURCE_DIR}/../../../../dependency/nnsdk")
|
if(NOT DEFINED NNSDK_DIR)
|
||||||
|
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
||||||
|
endif()
|
||||||
|
set(NNSDK_ROOT "${NNSDK_DIR}")
|
||||||
|
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
include_directories(${NNSDK_ROOT}/include)
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
|
|
@ -13,14 +18,14 @@ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a)
|
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
||||||
else()
|
else()
|
||||||
link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a)
|
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
||||||
endif()
|
endif()
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto)
|
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find OpenCV
|
# Find OpenCV
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue