|
|
cmake_minimum_required(VERSION 3.5.0)
|
|
|
project(sopTest VERSION 0.1.0 LANGUAGES C CXX)
|
|
|
# 设置算能交叉编译环境
|
|
|
|
|
|
set(TOOLCHAIN_DIR /home/wang/App/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu)
|
|
|
# 指定交叉编译器 arm-gcc 和 arm-g++
|
|
|
set(CMAKE_C_COMPILER ${TOOLCHAIN_DIR}/bin/aarch64-linux-gnu-gcc)
|
|
|
set(CMAKE_CXX_COMPILER ${TOOLCHAIN_DIR}/bin/aarch64-linux-gnu-g++)
|
|
|
|
|
|
set(CMAKE_CXX_FLAGS "${CAMKE_CXX_FLAGS} -std=c++11 -pthread")
|
|
|
|
|
|
SET(CMAKE_BUILD_TYPE "Release")
|
|
|
|
|
|
|
|
|
# 设置源码路径宏
|
|
|
set(SOURCE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
|
|
# 将路径编码,便于各人模型文件的路径一致
|
|
|
add_definitions(-DSOURCE_PATH=\"${SOURCE_PATH}\")
|
|
|
|
|
|
|
|
|
|
|
|
# 设置第三方库路径,AI识别也在第三方库中
|
|
|
set(SDK_DIR ${CMAKE_SOURCE_DIR}/third_party)
|
|
|
|
|
|
|
|
|
set(SOPHON_DIR ${SDK_DIR}/libsophon-0.5.1)
|
|
|
set(OPENCV_DIR ${SDK_DIR}/sophon-opencv_0.11.0)
|
|
|
set(FFMPEG_DIR ${SDK_DIR}/sophon-ffmpeg_0.11.0)
|
|
|
set(CJSON_DIR ${SDK_DIR}/sophon-cjson_1.7.1)
|
|
|
set(MNN_DIR ${SDK_DIR}/sophon-mnn-2.4.0)
|
|
|
set(ALG_DIR ${SDK_DIR}/gd_alg)
|
|
|
|
|
|
|
|
|
include_directories(${SOPHON_DIR}/include/)
|
|
|
include_directories(${OPENCV_DIR}/include/opencv4)
|
|
|
include_directories(${FFMPEG_DIR}/include)
|
|
|
include_directories(${ALG_DIR}/include)
|
|
|
include_directories(${CJSON_DIR}/include)
|
|
|
include_directories(NeoTracker/src)
|
|
|
include_directories(NanoTracker/src)
|
|
|
include_directories(public_include)
|
|
|
#
|
|
|
link_directories(${SOPHON_DIR}/lib/)
|
|
|
link_directories(${OPENCV_DIR}/lib/)
|
|
|
link_directories(${FFMPEG_DIR}/lib/)
|
|
|
link_directories(${ALG_DIR}/lib/)
|
|
|
link_directories(${CJSON_DIR}/lib)
|
|
|
|
|
|
|
|
|
|
|
|
set(BM_LIBS bmlib bmrt bmcv yuv bmion)
|
|
|
set(JPU_LIBS bmjpuapi bmjpulite)
|
|
|
set(OpenCV_LIBS opencv_core opencv_imgproc opencv_highgui opencv_imgcodecs opencv_videoio)
|
|
|
set(AIOD_LIBS AI_API)
|
|
|
set(CJSON_LIBS cjson)
|
|
|
|
|
|
# 构造传统跟踪算法库
|
|
|
set(LIB_TRACKER GuideTracker)
|
|
|
add_subdirectory(NeoTracker)
|
|
|
|
|
|
|
|
|
|
|
|
# 构造NaNoTrack
|
|
|
set(LIB_AITRACKER nanoTracker)
|
|
|
add_subdirectory(NanoTracker)
|
|
|
|
|
|
|
|
|
add_executable(OD_OT_Demo.soc OD_OT_Demo.cpp ff_decode.cpp demo_utils.cpp)
|
|
|
|
|
|
target_link_libraries(OD_OT_Demo.soc ${OPENCV_LIBS} ${LIB_TRACKER} ${LIB_AITRACKER} ${AIOD_LIBS} ${BM_LIBS} ${CJSON_LIBS} ${JPU_LIBS}
|
|
|
-lpthread -lavcodec -lavformat -lavutil -fopenmp)
|
|
|
|
|
|
|
|
|
# 双路测试
|
|
|
add_executable(DualTest.soc DualTest.cpp ff_decode.cpp demo_utils.cpp)
|
|
|
target_link_libraries(DualTest.soc ${OPENCV_LIBS} ${LIB_TRACKER} ${LIB_AITRACKER} ${AIOD_LIBS} ${BM_LIBS} ${CJSON_LIBS} ${JPU_LIBS}
|
|
|
-lpthread -lavcodec -lavformat -lavutil -fopenmp)
|
|
|
|
|
|
|
|
|
|
|
|
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/Bin)
|
|
|
|
|
|
|