# 最低版本
cmake_minimum_required(VERSION 2.9)
# yolov5为项目名称
project(yolov5)
# C++版本
add_definitions(-std=c++11)
# OpenCV和TensorRT路径
# 可直接从官网下载已编译的windows版本
set(OpenCV_DIR "D:\\opencv3.4.7\\build")
# 设置为TensorRT的根目录
set(TRT_DIR "D:\\TensorRT-7.0.0.11")
# 其他配置
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_BUILD_TYPE Debug)
# 项目头文件路径
include_directories(${PROJECT_SOURCE_DIR}/include)
# CUDA
# 关闭使用静态Runtime
option(CUDA_USE_STATIC_CUDA_RUNTIME OFF)
# 在系统寻找CUDA包路径
find_package(CUDA REQUIRED)
# 标志文件路径
include_directories(${CUDA_INCLUDE_DIRS})
# arch、code根据实际显卡算力填写
set(CUDA_NVCC_PLAGS ${CUDA_NVCC_PLAGS};-std=c++11;-g;-G;-gencode;arch=compute_75;code=sm_75)
# 允许CUDA语法
enable_language(CUDA)
# TensorRT
# 标志文件
include_directories(${TRT_DIR}\\include)
# 动态链接库
link_directories(${TRT_DIR}\\lib)
# OpencV
# 寻找OpenCV包路径
find_package(OpenCV QUIET
NO_MODULE
NO_DEFAULT_PATH
NO_CMAKE_PATH
NO_CMAKE_ENVIRONMENT_PATH
NO_SYSTEM_ENVIRONMENT_PATH
NO_CMAKE_PACKAGE_REGISTRY
NO_CMAKE_BUILDS_PATH
NO_CMAKE_SYSTEM_PATH
NO_CMAKE_SYSTEM_PACKAGE_REGISTRY
)
# 标记文件路径
include_directories(${OpenCV_INCLUDE_DIRS})
# 根据.cu文件生成动态链接库文件
cuda_add_library(myplugins SHARED ${PROJECT_SOURCE_DIR}/yololayer.cu)
target_link_libraries(myplugins nvinfer cudart)
# 根据哪个文件生成可执行文件
add_executable(yolov5 ${PROJECT_SOURCE_DIR}/yolov5.cpp)
# 添加链接库
target_link_libraries(yolov5 ${CUDA_LIBRARIES})
target_link_libraries(yolov5 ${OpenCV_LIBS})
target_link_libraries(yolov5 nvinfer)
target_link_libraries(yolov5 cudart)
target_link_libraries(yolov5 cudnn)
target_link_libraries(yolov5 myplugins)
CUDA+TensorRT项目Win10环境CMake编译配置模板
最新推荐文章于 2024-04-22 15:00:28 发布