Spaces:
Configuration error
Configuration error
| 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() | |