You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

85 lines
2.5 KiB

7 months ago
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)