From 83171b415f52b9f56ef8c163babc39f83ed88f8f Mon Sep 17 00:00:00 2001 From: crosstyan Date: Fri, 20 Mar 2026 17:24:54 +0800 Subject: [PATCH] fix(build): normalize protobuf and ZED link paths --- CMakeLists.txt | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0730e81..3553fb5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,6 +53,18 @@ find_package(rvl CONFIG QUIET) set(ZED_DIR "/usr/local/zed" CACHE PATH "Path to the local ZED SDK") find_package(ZED REQUIRED) find_package(CUDA ${ZED_CUDA_VERSION} REQUIRED) +find_library(CVMMAP_STREAMER_LIBUSB_LIBRARY NAMES usb-1.0 libusb-1.0) +if (CVMMAP_STREAMER_LIBUSB_LIBRARY) + set(_CVMMAP_STREAMER_ZED_LIBRARIES "") + foreach(_zed_lib IN LISTS ZED_LIBRARIES) + if (_zed_lib STREQUAL "/usr/lib/x86_64-linux-gnu/libusb-1.0.so") + list(APPEND _CVMMAP_STREAMER_ZED_LIBRARIES "${CVMMAP_STREAMER_LIBUSB_LIBRARY}") + else() + list(APPEND _CVMMAP_STREAMER_ZED_LIBRARIES "${_zed_lib}") + endif() + endforeach() + set(ZED_LIBRARIES "${_CVMMAP_STREAMER_ZED_LIBRARIES}") +endif() add_subdirectory(third_party) @@ -97,10 +109,13 @@ if (NOT TARGET rvl::rvl) endif() endif() +file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/proto") + add_library(cvmmap_streamer_foxglove_proto STATIC) protobuf_generate( TARGET cvmmap_streamer_foxglove_proto LANGUAGE cpp + PROTOC_OUT_DIR "${CMAKE_CURRENT_BINARY_DIR}" PROTOS "${CMAKE_CURRENT_LIST_DIR}/proto/foxglove/CompressedVideo.proto" "${CMAKE_CURRENT_LIST_DIR}/proto/foxglove/CameraCalibration.proto" @@ -108,13 +123,14 @@ protobuf_generate( "${CMAKE_CURRENT_LIST_DIR}/proto/foxglove/Pose.proto" "${CMAKE_CURRENT_LIST_DIR}/proto/foxglove/Quaternion.proto" "${CMAKE_CURRENT_LIST_DIR}/proto/foxglove/Vector3.proto" - IMPORT_DIRS "${CMAKE_CURRENT_LIST_DIR}/proto") + IMPORT_DIRS "${CMAKE_CURRENT_LIST_DIR}") add_library(cvmmap_streamer_depth_proto STATIC) protobuf_generate( TARGET cvmmap_streamer_depth_proto LANGUAGE cpp + PROTOC_OUT_DIR "${CMAKE_CURRENT_BINARY_DIR}" PROTOS "${CMAKE_CURRENT_LIST_DIR}/proto/cvmmap_streamer/DepthMap.proto" - IMPORT_DIRS "${CMAKE_CURRENT_LIST_DIR}/proto") + IMPORT_DIRS "${CMAKE_CURRENT_LIST_DIR}") add_library(cvmmap_streamer_protobuf INTERFACE) target_include_directories(cvmmap_streamer_foxglove_proto PUBLIC