24 lines
1.3 KiB
CMake
24 lines
1.3 KiB
CMake
cmake_minimum_required(VERSION 3.24)
|
|
if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
|
|
set(CMAKE_CUDA_ARCHITECTURES native)
|
|
endif()
|
|
project(camera_risk LANGUAGES CXX CUDA)
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CUDA_STANDARD 17)
|
|
find_package(CUDAToolkit REQUIRED)
|
|
find_package(OpenCV REQUIRED COMPONENTS core imgproc imgcodecs highgui)
|
|
find_package(Threads REQUIRED)
|
|
find_path(TENSORRT_INCLUDE_DIR NvInfer.h PATH_SUFFIXES aarch64-linux-gnu x86_64-linux-gnu REQUIRED)
|
|
find_library(TENSORRT_LIBRARY nvinfer REQUIRED)
|
|
add_library(camera_risk_core
|
|
src/trt_engine.cpp src/pose_engine.cu src/gpu_preprocess.cu src/uyvy_converter.cu
|
|
src/detector.cpp src/door_risk.cpp src/camera.cpp src/camera_pipeline.cpp src/config.cpp)
|
|
target_include_directories(camera_risk_core PUBLIC include third_party ${TENSORRT_INCLUDE_DIR} ${OpenCV_INCLUDE_DIRS})
|
|
target_link_libraries(camera_risk_core PUBLIC ${TENSORRT_LIBRARY} ${OpenCV_LIBS} Threads::Threads CUDA::cudart CUDA::nppc CUDA::nppig CUDA::nppidei CUDA::nppicc)
|
|
target_compile_options(camera_risk_core PRIVATE $<$<COMPILE_LANGUAGE:CXX>:-Wall;-Wextra;-Wpedantic>)
|
|
add_library(camera_risk_visualizer src/visualizer.cpp)
|
|
target_link_libraries(camera_risk_visualizer PUBLIC camera_risk_core)
|
|
add_executable(camera_risk src/main.cpp)
|
|
target_link_libraries(camera_risk PRIVATE camera_risk_visualizer)
|