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})