diff --git a/examples/build-android-all.sh b/examples/build-android-all.sh new file mode 100755 index 0000000..2670595 --- /dev/null +++ b/examples/build-android-all.sh @@ -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 ]" + echo " -a : 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!" diff --git a/examples/clip/cpp/src/CMakeLists.txt b/examples/clip/cpp/src/CMakeLists.txt index 062b008..c9568d0 100755 --- a/examples/clip/cpp/src/CMakeLists.txt +++ b/examples/clip/cpp/src/CMakeLists.txt @@ -4,7 +4,12 @@ project(clip_demo) set(CMAKE_CXX_STANDARD 17) # 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(${CMAKE_SOURCE_DIR}/../../../../common) @@ -18,14 +23,14 @@ include_directories(${3RDPARTY_DIR}/json) if(CMAKE_SYSTEM_NAME STREQUAL "Android") if (ANDROID_ABI STREQUAL "arm64-v8a") - link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a) + link_directories(${NNSDK_ROOT}/android/arm64-v8a) else() - link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a) + link_directories(${NNSDK_ROOT}/android/armeabi-v7a) endif() # Android needs log link_libraries(log) elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") - link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto) + link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux) endif() add_executable(${PROJECT_NAME} diff --git a/examples/mobilenet/cpp/src/CMakeLists.txt b/examples/mobilenet/cpp/src/CMakeLists.txt index ac93256..818f80f 100755 --- a/examples/mobilenet/cpp/src/CMakeLists.txt +++ b/examples/mobilenet/cpp/src/CMakeLists.txt @@ -4,7 +4,12 @@ project(mobilenet_v2_demo) set(CMAKE_CXX_STANDARD 17) # 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(${CMAKE_SOURCE_DIR}/../../../../common) @@ -13,14 +18,14 @@ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency") if(CMAKE_SYSTEM_NAME STREQUAL "Android") if (ANDROID_ABI STREQUAL "arm64-v8a") - link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a) + link_directories(${NNSDK_ROOT}/android/arm64-v8a) else() - link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a) + link_directories(${NNSDK_ROOT}/android/armeabi-v7a) endif() # Android needs log link_libraries(log) elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") - link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto) + link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux) endif() # Find OpenCV diff --git a/examples/ppocr-det/cpp/src/CMakeLists.txt b/examples/ppocr-det/cpp/src/CMakeLists.txt index 42af412..220a9df 100755 --- a/examples/ppocr-det/cpp/src/CMakeLists.txt +++ b/examples/ppocr-det/cpp/src/CMakeLists.txt @@ -4,8 +4,12 @@ project(yolo_world_demo) 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(${CMAKE_SOURCE_DIR}/../../../../common) @@ -14,14 +18,14 @@ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency") if(CMAKE_SYSTEM_NAME STREQUAL "Android") if (ANDROID_ABI STREQUAL "arm64-v8a") - link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a) + link_directories(${NNSDK_ROOT}/android/arm64-v8a) else() - link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a) + link_directories(${NNSDK_ROOT}/android/armeabi-v7a) endif() # Android needs log link_libraries(log) elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") - link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto) + link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux) endif() # Find OpenCV diff --git a/examples/resnet/cpp/src/CMakeLists.txt b/examples/resnet/cpp/src/CMakeLists.txt index ffda6ba..6401b85 100755 --- a/examples/resnet/cpp/src/CMakeLists.txt +++ b/examples/resnet/cpp/src/CMakeLists.txt @@ -4,7 +4,12 @@ project(resnet_demo) set(CMAKE_CXX_STANDARD 17) # 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(${CMAKE_SOURCE_DIR}/../../../../common) @@ -13,14 +18,14 @@ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency") if(CMAKE_SYSTEM_NAME STREQUAL "Android") if (ANDROID_ABI STREQUAL "arm64-v8a") - link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a) + link_directories(${NNSDK_ROOT}/android/arm64-v8a) else() - link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a) + link_directories(${NNSDK_ROOT}/android/armeabi-v7a) endif() # Android needs log link_libraries(log) elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") - link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto) + link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux) endif() # Find OpenCV diff --git a/examples/retinaface/cpp/src/CMakeLists.txt b/examples/retinaface/cpp/src/CMakeLists.txt index bbaef67..9fca045 100755 --- a/examples/retinaface/cpp/src/CMakeLists.txt +++ b/examples/retinaface/cpp/src/CMakeLists.txt @@ -4,7 +4,12 @@ project(retinaface_demo) set(CMAKE_CXX_STANDARD 17) # 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(${CMAKE_SOURCE_DIR}/../../../../common) @@ -13,14 +18,14 @@ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency") if(CMAKE_SYSTEM_NAME STREQUAL "Android") if (ANDROID_ABI STREQUAL "arm64-v8a") - link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a) + link_directories(${NNSDK_ROOT}/android/arm64-v8a) else() - link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a) + link_directories(${NNSDK_ROOT}/android/armeabi-v7a) endif() # Android needs log link_libraries(log) elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") - link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto) + link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux) endif() # Find OpenCV diff --git a/examples/whisper/cpp/src/CMakeLists.txt b/examples/whisper/cpp/src/CMakeLists.txt index b37e54c..5a10c56 100755 --- a/examples/whisper/cpp/src/CMakeLists.txt +++ b/examples/whisper/cpp/src/CMakeLists.txt @@ -4,7 +4,12 @@ project(whisper_demo) set(CMAKE_CXX_STANDARD 17) # 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(${CMAKE_SOURCE_DIR}/../../../../common) @@ -13,14 +18,14 @@ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency") if(CMAKE_SYSTEM_NAME STREQUAL "Android") if (ANDROID_ABI STREQUAL "arm64-v8a") - link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a) + link_directories(${NNSDK_ROOT}/android/arm64-v8a) else() - link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a) + link_directories(${NNSDK_ROOT}/android/armeabi-v7a) endif() # Android needs log link_libraries(log) elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") - link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto) + link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux) endif() add_executable(${PROJECT_NAME} diff --git a/examples/yoloe/cpp/src/CMakeLists.txt b/examples/yoloe/cpp/src/CMakeLists.txt index 59e11dd..98613bc 100644 --- a/examples/yoloe/cpp/src/CMakeLists.txt +++ b/examples/yoloe/cpp/src/CMakeLists.txt @@ -4,7 +4,12 @@ project(yoloe_demo) set(CMAKE_CXX_STANDARD 17) # 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(${CMAKE_SOURCE_DIR}/../../../../common) @@ -13,14 +18,14 @@ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency") if(CMAKE_SYSTEM_NAME STREQUAL "Android") if (ANDROID_ABI STREQUAL "arm64-v8a") - link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a) + link_directories(${NNSDK_ROOT}/android/arm64-v8a) else() - link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a) + link_directories(${NNSDK_ROOT}/android/armeabi-v7a) endif() # Android needs log link_libraries(log) elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") - link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto) + link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux) endif() # Find OpenCV diff --git a/examples/yolov11/cpp/src/CMakeLists.txt b/examples/yolov11/cpp/src/CMakeLists.txt index 9826961..3f157bc 100755 --- a/examples/yolov11/cpp/src/CMakeLists.txt +++ b/examples/yolov11/cpp/src/CMakeLists.txt @@ -4,7 +4,12 @@ project(yolo11_demo) set(CMAKE_CXX_STANDARD 17) # 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(${CMAKE_SOURCE_DIR}/../../../../common) @@ -13,14 +18,14 @@ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency") if(CMAKE_SYSTEM_NAME STREQUAL "Android") if (ANDROID_ABI STREQUAL "arm64-v8a") - link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a) + link_directories(${NNSDK_ROOT}/android/arm64-v8a) else() - link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a) + link_directories(${NNSDK_ROOT}/android/armeabi-v7a) endif() # Android needs log link_libraries(log) elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") - link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto) + link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux) endif() # Find OpenCV diff --git a/examples/yolov8/cpp/build-android.sh b/examples/yolov8/cpp/build-android.sh index fa0c39b..daa39df 100755 --- a/examples/yolov8/cpp/build-android.sh +++ b/examples/yolov8/cpp/build-android.sh @@ -70,7 +70,8 @@ cmake ../../src \ -DANDROID_ABI=${TARGET_ABI} \ -DANDROID_PLATFORM=android-24 \ -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 diff --git a/examples/yolov8/cpp/build-linux.sh b/examples/yolov8/cpp/build-linux.sh index 1285df2..4e62922 100755 --- a/examples/yolov8/cpp/build-linux.sh +++ b/examples/yolov8/cpp/build-linux.sh @@ -46,8 +46,13 @@ done GCC_COMPILER=${GCC_COMPILER:-aarch64-linux-gnu} # Set compilers -export CC=${GCC_COMPILER}-gcc -export CXX=${GCC_COMPILER}-g++ +if [[ ${GCC_COMPILER} == *"-gcc" ]]; then + export CC=${GCC_COMPILER} + export CXX=${GCC_COMPILER%-gcc}-g++ +else + export CC=${GCC_COMPILER}-gcc + export CXX=${GCC_COMPILER}-g++ +fi # Validate compiler if ! command -v ${CC} &> /dev/null; then @@ -68,10 +73,21 @@ echo "BUILD_DIR: ${BUILD_DIR}" mkdir -p ${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 \ -DCMAKE_SYSTEM_NAME=Linux \ -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 diff --git a/examples/yolov8/cpp/src/CMakeLists.txt b/examples/yolov8/cpp/src/CMakeLists.txt index 4814a09..d132750 100755 --- a/examples/yolov8/cpp/src/CMakeLists.txt +++ b/examples/yolov8/cpp/src/CMakeLists.txt @@ -4,8 +4,12 @@ project(yolo_world_demo) 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(${CMAKE_SOURCE_DIR}/../../../../common) @@ -14,14 +18,14 @@ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency") if(CMAKE_SYSTEM_NAME STREQUAL "Android") if (ANDROID_ABI STREQUAL "arm64-v8a") - link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a) + link_directories(${NNSDK_ROOT}/android/arm64-v8a) else() - link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a) + link_directories(${NNSDK_ROOT}/android/armeabi-v7a) endif() # Android needs log link_libraries(log) elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") - link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto) + link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux) endif() # Find OpenCV diff --git a/examples/yoloworld/cpp/src/CMakeLists.txt b/examples/yoloworld/cpp/src/CMakeLists.txt index 1eb6bd4..3712bfd 100755 --- a/examples/yoloworld/cpp/src/CMakeLists.txt +++ b/examples/yoloworld/cpp/src/CMakeLists.txt @@ -4,7 +4,12 @@ project(yolo_world_demo) set(CMAKE_CXX_STANDARD 17) # 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(${CMAKE_SOURCE_DIR}/../../../../common) @@ -13,14 +18,14 @@ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency") if(CMAKE_SYSTEM_NAME STREQUAL "Android") if (ANDROID_ABI STREQUAL "arm64-v8a") - link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a) + link_directories(${NNSDK_ROOT}/android/arm64-v8a) else() - link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a) + link_directories(${NNSDK_ROOT}/android/armeabi-v7a) endif() # Android needs log link_libraries(log) elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") - link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto) + link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux) endif() # Find OpenCV diff --git a/examples/yolox/cpp/src/CMakeLists.txt b/examples/yolox/cpp/src/CMakeLists.txt index ae307ff..507c038 100755 --- a/examples/yolox/cpp/src/CMakeLists.txt +++ b/examples/yolox/cpp/src/CMakeLists.txt @@ -4,7 +4,12 @@ project(yolo11_demo) set(CMAKE_CXX_STANDARD 17) # 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(${CMAKE_SOURCE_DIR}/../../../../common) @@ -13,14 +18,14 @@ set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency") if(CMAKE_SYSTEM_NAME STREQUAL "Android") if (ANDROID_ABI STREQUAL "arm64-v8a") - link_directories(${NNSDK_ROOT}/lib/android/arm64-v8a) + link_directories(${NNSDK_ROOT}/android/arm64-v8a) else() - link_directories(${NNSDK_ROOT}/lib/android/armeabi-v7a) + link_directories(${NNSDK_ROOT}/android/armeabi-v7a) endif() # Android needs log link_libraries(log) elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") - link_directories(${NNSDK_ROOT}/lib/linux/lib64_yocto) + link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux) endif() # Find OpenCV