cmake_minimum_required(VERSION 3.5)
|
project(baseDetector 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 "/opt/toolkits/opencv")
|
set(OPENCV_DIR /opt/toolkits/opencv)
|
set(TensorRT_DIR /opt/toolkits/TensorRT7)
|
set(LOG_DIR /opt/toolkits/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)
|
include_directories("/usr/include/jsoncpp/")
|
include_directories("/usr/include/eigen3/")
|
|
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 80 72 75)
|
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# 不同GPU有不同的算力指数,可查看算力表
|
-gencode arch=compute_80,code=sm_80 -std=c++14# 不同GPU有不同的算力指数,可查看算力表
|
-gencode arch=compute_72,code=sm_72 -std=c++14# 不同GPU有不同的算力指数,可查看算力表
|
-gencode arch=compute_75,code=sm_75 -std=c++14# 不同GPU有不同的算力指数,可查看算力表
|
)
|
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/detecter_tools/ 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})
|