派生自 Algorithm/baseDetector

编辑 | blame | 历史 | 原始文档
cmake_minimum_required(VERSION 3.5)
project(yoloDetector VERSION 1.0)
enable_language(CUDA)

set(CMAKE_CXX_COMPILIER "/usr/bin/g++")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -O3 -Wno-write-strings")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath -Wl,$ORIGIN")

set(CUDA_Path /usr/local/cuda)
#find_package(OpenCV REQUIRED PATHS "/data/disk2/opt/01_opencv/opencv4.5.2")
set(OPENCV_DIR /data/disk2/opt/01_opencv/opencv4.5.2)
set(TensorRT_DIR /data/disk2/opt/05_tensorRT/TensorRT-7.2.3.4)
set(LOG_DIR /data/disk2/opt/log4cplus)

include_directories(${OPENCV_DIR}/include/opencv4)
link_directories(${OPENCV_DIR}/lib)
include_directories(${CUDA_Path}/include)
link_directories(${CUDA_Path}/lib64)
include_directories(${TensorRT_DIR}/include)
include_directories(${TensorRT_DIR}/samples/common)
link_directories(${TensorRT_DIR}/lib)
link_directories(${LOG_DIR}/lib)
include_directories(${LOG_DIR}/include)

file(GLOB_RECURSE sources src/* src/core/* src/utils/* src/detecter_tools/* ${TensorRT_DIR}/samples/common/*.h ${TensorRT_DIR}/samples/common/logger.cpp)
set(LIBS nvinfer nvparsers nvonnxparser nvinfer_plugin stdc++fs jsoncpp log4cplus opencv_core opencv_highgui opencv_imgcodecs
        opencv_imgproc opencv_videoio opencv_video opencv_calib3d opencv_features2d opencv_flann opencv_dnn)

if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
    set(CMAKE_CUDA_ARCHITECTURES 61 75 72 80)
endif(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)


#
find_package(CUDA REQUIRED)
if(CUDA_VERSION_MAJOR GREATER 9)
  message("-- CUDA ${CUDA_VERSION_MAJOR} detected")
  set(
          CUDA_NVCC_FLAGS
          ${CUDA_NVCC_FLAGS};
          -gencode arch=compute_61,code=sm_61 -std=c++14
          -gencode arch=compute_80,code=sm_80 -std=c++14
          -gencode arch=compute_72,code=sm_72 -std=c++14
          -gencode arch=compute_75,code=sm_75 -std=c++14
  )
  set(CUDA_NVCC_FLAGS_RELWITHDEBINFO "--device-debug;-lineinfo")
  #find_package(OpenCV REQUIRED) # 查找系统的默认opencv环境
  #message(${OpenCV_LIBS})
endif()


cuda_add_library(${PROJECT_NAME} SHARED ${sources})
target_include_directories(${PROJECT_NAME} PRIVATE ${OpenCV_INCLUDE_DIRS} src/ src/core src/utils/  src/tracker_tools/ src/Munkers_assign/ src/detecter_tools/ src/additional/)
target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS} ${LIBS})

add_executable(demo demo.cpp)
target_include_directories(demo PRIVATE src/ src/core src/utils/ src/detecter_tools/ src/tracker_tools/ src/Munkers_assign/ src/additional/)
target_link_libraries(demo ${PROJECT_NAME})

# add_executable(demo demo.cpp ${sources})
# target_include_directories(demo PRIVATE ${OpenCV_INCLUDE_DIRS} src/ src/core src/utils/ src/detecter_tools/)
# target_link_libraries(demo ${OpenCV_LIBS} ${LIBS})