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 /home/disk2/workspace/sunty/lib/cuda-11.1)
|
set(OPENCV_DIR /home/disk2/workspace/sunty/lib/opencv-4.5.2)
|
#find_package(OpenCV REQUIRED)
|
set(TensorRT_DIR /home/disk2/workspace/sunty/lib/TensorRT-7.2.3.4)
|
set(LOG_DIR /home/disk2/workspace/sunty/lib/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)
|
|
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/)
|
#cuda_add_library(${PROJECT_NAME} SHARED ${sources})
|
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})
|