Spaces:
Configuration error
Configuration error
File size: 2,587 Bytes
3624d0b 2206380 | 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 | cmake_minimum_required(VERSION 3.20)
project(rclane_runtime LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE)
endif()
find_path(TENSORRT_INCLUDE_DIR NvInferRuntime.h
HINTS "$ENV{TENSORRT_ROOT}/include"
PATHS /usr/include /usr/include/aarch64-linux-gnu /usr/local/TensorRT/include
)
find_library(TENSORRT_LIBRARY NAMES nvinfer libnvinfer.so.10
HINTS "$ENV{TENSORRT_ROOT}/lib" "$ENV{TENSORRT_ROOT}/lib64"
PATHS /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/aarch64-linux-gnu
)
find_path(CUDA_INCLUDE_DIR cuda_runtime_api.h
HINTS "$ENV{CUDA_HOME}/include" "$ENV{CUDA_PATH}/include"
PATHS /usr/local/cuda/include /usr/include
)
find_library(CUDART_LIBRARY NAMES cudart libcudart.so.13 libcudart.so.12
HINTS "$ENV{CUDA_HOME}/lib64" "$ENV{CUDA_PATH}/lib64"
PATHS /usr/local/cuda/lib64 /usr/lib/x86_64-linux-gnu
/usr/lib/aarch64-linux-gnu
)
foreach(required_path
TENSORRT_INCLUDE_DIR TENSORRT_LIBRARY CUDA_INCLUDE_DIR CUDART_LIBRARY)
if(NOT ${required_path})
message(FATAL_ERROR
"${required_path} was not found; pass -D${required_path}=..."
)
endif()
endforeach()
find_package(OpenMP REQUIRED)
add_executable(rclane_runtime
src/bev.cpp
src/decoder.cpp
src/main.cpp
src/preprocess.cpp
src/tensorrt_runner.cpp
)
target_include_directories(rclane_runtime PRIVATE
include
"${TENSORRT_INCLUDE_DIR}"
"${CUDA_INCLUDE_DIR}"
)
target_link_libraries(rclane_runtime PRIVATE
"${TENSORRT_LIBRARY}"
"${CUDART_LIBRARY}"
OpenMP::OpenMP_CXX
dl
)
target_compile_options(rclane_runtime PRIVATE
-O3 -march=native -Wall -Wextra -Wpedantic
)
get_filename_component(TENSORRT_LIBRARY_DIR "${TENSORRT_LIBRARY}" DIRECTORY)
get_filename_component(CUDART_LIBRARY_DIR "${CUDART_LIBRARY}" DIRECTORY)
set_target_properties(rclane_runtime PROPERTIES
BUILD_RPATH "${TENSORRT_LIBRARY_DIR};${CUDART_LIBRARY_DIR}"
)
include(CTest)
if(BUILD_TESTING)
add_executable(rclane_bev_modes_test
tests/bev_modes_test.cpp
src/bev.cpp
src/decoder.cpp
)
target_include_directories(rclane_bev_modes_test PRIVATE
include
"${TENSORRT_INCLUDE_DIR}"
)
target_link_libraries(rclane_bev_modes_test PRIVATE OpenMP::OpenMP_CXX)
target_compile_options(rclane_bev_modes_test PRIVATE
-O2 -Wall -Wextra -Wpedantic
)
add_test(NAME bev_modes COMMAND rclane_bev_modes_test)
endif()
|