You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.5 KiB
55 lines
1.5 KiB
cmake_minimum_required(VERSION 2.8.12) |
|
|
|
set(CMAKE_CUDA_ARCHITECTURES 60 61 62 70 72 75 86) |
|
set(CMAKE_CUDA_COMPILER /usr/local/cuda/bin/nvcc) |
|
|
|
project(yolov8 LANGUAGES CXX CUDA) |
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -O3 -g") |
|
set(CMAKE_CXX_STANDARD 14) |
|
set(CMAKE_BUILD_TYPE Release) |
|
option(CUDA_USE_STATIC_CUDA_RUNTIME OFF) |
|
|
|
# CUDA |
|
find_package(CUDA REQUIRED) |
|
message(STATUS "CUDA Libs: \n${CUDA_LIBRARIES}\n") |
|
message(STATUS "CUDA Headers: \n${CUDA_INCLUDE_DIRS}\n") |
|
|
|
# OpenCV |
|
find_package(OpenCV REQUIRED) |
|
message(STATUS "OpenCV Libs: \n${OpenCV_LIBS}\n") |
|
message(STATUS "OpenCV Libraries: \n${OpenCV_LIBRARIES}\n") |
|
message(STATUS "OpenCV Headers: \n${OpenCV_INCLUDE_DIRS}\n") |
|
|
|
# TensorRT |
|
set(TensorRT_INCLUDE_DIRS /usr/include/x86_64-linux-gnu) |
|
set(TensorRT_LIBRARIES /usr/lib/x86_64-linux-gnu) |
|
|
|
|
|
message(STATUS "TensorRT Libs: \n${TensorRT_LIBRARIES}\n") |
|
message(STATUS "TensorRT Headers: \n${TensorRT_INCLUDE_DIRS}\n") |
|
|
|
list(APPEND INCLUDE_DIRS |
|
${CUDA_INCLUDE_DIRS} |
|
${OpenCV_INCLUDE_DIRS} |
|
${TensorRT_INCLUDE_DIRS} |
|
./include |
|
) |
|
|
|
list(APPEND ALL_LIBS |
|
${CUDA_LIBRARIES} |
|
${OpenCV_LIBRARIES} |
|
${TensorRT_LIBRARIES} |
|
) |
|
|
|
include_directories(${INCLUDE_DIRS}) |
|
|
|
add_executable(${PROJECT_NAME} |
|
main.cpp |
|
include/yolov8.hpp |
|
include/config.h |
|
include/utils.h |
|
) |
|
|
|
target_link_directories(${PROJECT_NAME} PUBLIC ${ALL_LIBS}) |
|
target_link_libraries(${PROJECT_NAME} PRIVATE nvinfer nvinfer_plugin cudart ${OpenCV_LIBS})
|
|
|