-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists_local.txt
More file actions
103 lines (86 loc) · 3.01 KB
/
CMakeLists_local.txt
File metadata and controls
103 lines (86 loc) · 3.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
cmake_minimum_required(VERSION 3.20)
project(adas_fusion)
include(FetchContent)
# cmake_policy(SET CMP0146 OLD)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_BUILD_TYPE Release)
set(CMAKE_CXX_FLAGS "-Wall -Wextra")
set(CMAKE_CXX_FLAGS_DEBUG "-g")
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
set(CMAKE_CUDA_ARCHITECTURES 60 61 62 70 72 75 86 89 90)
set(CMAKE_CUDA_COMPILER /usr/local/cuda/bin/nvcc)
option(CUDA_USE_STATIC_CUDA_RUNTIME OFF)
# CUDA
find_package(CUDA REQUIRED)
# message(STATUS "CUDA Libs: \n${CUDA_LIBRARIES}\n")
get_filename_component(CUDA_LIB_DIR ${CUDA_LIBRARIES} DIRECTORY)
# message(STATUS "CUDA Headers: \n${CUDA_INCLUDE_DIRS}\n")
# Opencv
# set(OpenCV_DIR /home/pallab/Apsoft/dev-utils/cv2/installation/OpenCV-4.8.1/lib/cmake/opencv4/)
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_DIR /opt/nvidia/TensorRT-8.6.1.6)
set(TensorRT_INCLUDE_DIRS ${TensorRT_DIR}/include)
set(TensorRT_LIBRARIES ${TensorRT_DIR}/lib)
# message(STATUS "TensorRT Libs: \n${TensorRT_LIBRARIES}\n")
# message(STATUS "TensorRT Headers: \n${TensorRT_INCLUDE_DIRS}\n")
# YAML-CPP
set(YAML-CPP_DIR /home/pallab/Apsoft/dev-utils/yaml-parser/yaml-cpp/install/lib/cmake/yaml-cpp/)
find_package(YAML-CPP REQUIRED)
message(STATUS "YAML-CPP Libs: ${YAML_CPP_LIBRARIES}\n")
# Eigen
set(EIGEN_VERSION 3.3)
find_package(Eigen3 ${EIGEN_VERSION} QUIET)
if(NOT EIGEN3_FOUND)
set(BUILD_TESTING OFF CACHE INTERNAL "")
FetchContent_Declare(eigen
GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git
GIT_TAG ${EIGEN_VERSION}
GIT_SHALLOW ON)
FetchContent_MakeAvailable(eigen)
unset(BUILD_TESTING CACHE)
endif()
# TBB
set(TBB_DIR /opt/intel/oneTBB/libs/cmake/TBB/)
find_package(TBB CONFIG REQUIRED tbb)
set(TBB_LIBS TBB::tbb)
# message(STATUS "TBB Libs: ${TBB_LIBS}\n")
set(TBB_INSTALL_DIR /opt/intel/oneTBB)
set(TBB_INCLUDE_DIRS ${TBB_INSTALL_DIR}/include)
set(TBB_LIBRARIES ${TBB_INSTALL_DIR}/lib)
list(APPEND INCLUDE_DIRS
${CUDA_INCLUDE_DIRS}
${OpenCV_INCLUDE_DIRS}
${TensorRT_INCLUDE_DIRS}
${TBB_INCLUDE_DIRS}
include
)
link_libraries(stdc++fs)
list(APPEND ALL_LIBS
${CUDA_LIBRARIES}
${CUDA_LIB_DIR}
${OpenCV_LIBRARIES}
${TensorRT_LIBRARIES}
${TBB_LIBRARIES}
${TBB_LIBS}
)
include_directories(${INCLUDE_DIRS})
add_executable(${PROJECT_NAME}
src/main.cpp
include/yolov8.hpp
include/common.hpp
src/BYTETracker.cpp
src/Object.cpp
src/Rect.cpp
src/STrack.cpp
src/lapjv.cpp
src/KalmanFilter.cpp
src/birdview_model.cpp
src/camera_model.cpp
)
target_link_directories(${PROJECT_NAME} PUBLIC ${ALL_LIBS})
target_link_libraries(${PROJECT_NAME} PRIVATE nvinfer nvinfer_plugin cudart ${TBB_LIBS} ${TBB_LIBRARIES} ${OpenCV_LIBS} ${YAML_CPP_LIBRARIES} Eigen3::Eigen)