@@ -5,8 +5,9 @@ find_package(Git QUIET REQUIRED)
55ExternalProject_Add(
66 ext_librealsense
77 PREFIX librealsense
8- URL https://github.com/IntelRealSense/librealsense/archive/refs/tags/v2.44.0.tar.gz # 2020 Apr 1
9- URL_HASH SHA256=5b0158592646984f0f7348da3783e2fb49e99308a97f2348fe3cc82c770c6dde
8+ URL https://github.com/IntelRealSense/librealsense/archive/refs/tags/v2.54.2.tar.gz # 2023 Sep 28
9+ # Future versions after v2.54.2 may not support L515 and SR300
10+ URL_HASH SHA256=e3a767337ff40ae41000049a490ab84bd70b00cbfef65e8cdbadf17fd2e1e5a8
1011 DOWNLOAD_DIR "${OPEN3D_THIRD_PARTY_DOWNLOAD_DIR} /librealsense"
1112 UPDATE_COMMAND ""
1213 # Patch for libusb static build failure on Linux
@@ -17,11 +18,8 @@ ExternalProject_Add(
1718 COMMAND ${GIT_EXECUTABLE} init
1819 COMMAND ${GIT_EXECUTABLE} apply --ignore -space-change --ignore -whitespace
1920 ${CMAKE_CURRENT_LIST_DIR} /fix-cudacrt.patch
20- # Patch for macOS ARM64 support for versions < 2.50.0
21- COMMAND ${GIT_EXECUTABLE} apply --ignore -space-change --ignore -whitespace
22- ${CMAKE_CURRENT_LIST_DIR} /fix-macos-arm64.patch
23- # Patch to include the <chrono> header for the system_clock type
24- COMMAND ${GIT_EXECUTABLE} apply --ignore -space-change --ignore -whitespace
21+ ${CMAKE_CURRENT_LIST_DIR} /fix_mac_apple_silicon_build.patch
22+ # Patch to include the <chrono> header for the system_clock type
2523 ${CMAKE_CURRENT_LIST_DIR} /fix-include -chrono.patch
2624 CMAKE_ARGS
2725 -DCMAKE_POLICY_VERSION_MINIMUM=3.5
@@ -34,6 +32,7 @@ ExternalProject_Add(
3432 -DBUILD_PYTHON_BINDINGS=OFF
3533 -DBUILD_WITH_CUDA=${BUILD_CUDA_MODULE}
3634 -DUSE_EXTERNAL_USB=ON
35+ -DBUILD_TOOLS=OFF
3736 -DCMAKE_POLICY_VERSION_MINIMUM=3.5
3837 # Syncing GLIBCXX_USE_CXX11_ABI for MSVC causes problems, but directly
3938 # checking CXX_COMPILER_ID is not supported.
@@ -48,27 +47,33 @@ ExternalProject_Add(
4847 <INSTALL_DIR>/${Open3D_INSTALL_LIB_DIR} /${CMAKE_STATIC_LIBRARY_PREFIX} realsense2${CMAKE_STATIC_LIBRARY_SUFFIX}
4948 <INSTALL_DIR>/${Open3D_INSTALL_LIB_DIR} /${CMAKE_STATIC_LIBRARY_PREFIX} realsense-file${CMAKE_STATIC_LIBRARY_SUFFIX}
5049 <INSTALL_DIR>/${Open3D_INSTALL_LIB_DIR} /${CMAKE_STATIC_LIBRARY_PREFIX} fw${CMAKE_STATIC_LIBRARY_SUFFIX}
50+ <INSTALL_DIR>/${Open3D_INSTALL_LIB_DIR} /${CMAKE_STATIC_LIBRARY_PREFIX} rsutils${CMAKE_STATIC_LIBRARY_SUFFIX}
5151)
5252
5353ExternalProject_Get_Property(ext_librealsense INSTALL_DIR)
5454set (LIBREALSENSE_INCLUDE_DIR "${INSTALL_DIR} /include/" ) # "/" is critical.
5555set (LIBREALSENSE_LIB_DIR "${INSTALL_DIR} /${Open3D_INSTALL_LIB_DIR} " )
56-
57- set (LIBREALSENSE_LIBRARIES realsense2 fw realsense-file usb) # The order is critical.
56+ set (LIBREALSENSE_LIBRARIES realsense2 fw realsense-file rsutils) # The order is critical.
57+ if (NOT MSVC )
58+ list (APPEND LIBREALSENSE_LIBRARIES usb)
59+ endif ()
5860if (MSVC ) # Rename debug libs to ${LIBREALSENSE_LIBRARIES}. rem (comment) is no-op
5961 ExternalProject_Add_Step(ext_librealsense rename_debug_libs
6062 COMMAND $<IF:$<CONFIG:Debug>,move,rem> /Y realsense2d.lib realsense2.lib
6163 COMMAND $<IF:$<CONFIG:Debug>,move,rem> /Y fwd.lib fw.lib
6264 COMMAND $<IF:$<CONFIG:Debug>,move,rem> /Y realsense-filed.lib realsense-file.lib
65+ COMMAND $<IF:$<CONFIG:Debug>,move,rem> /Y rsutilsd.lib rsutils.lib
6366 WORKING_DIRECTORY "${LIBREALSENSE_LIB_DIR} "
6467 DEPENDEES install
6568 )
6669endif ()
6770
68- ExternalProject_Add_Step(ext_librealsense copy_libusb_to_lib_folder
69- COMMAND ${CMAKE_COMMAND} -E copy
70- "<BINARY_DIR>/libusb_install/lib/${CMAKE_STATIC_LIBRARY_PREFIX} usb${CMAKE_STATIC_LIBRARY_SUFFIX} "
71- "${LIBREALSENSE_LIB_DIR} "
72- DEPENDEES install
73- BYPRODUCTS "${LIBREALSENSE_LIB_DIR} /${CMAKE_STATIC_LIBRARY_PREFIX} usb${CMAKE_STATIC_LIBRARY_SUFFIX} "
74- )
71+ if (NOT MSVC )
72+ ExternalProject_Add_Step(ext_librealsense copy_libusb_to_lib_folder
73+ COMMAND ${CMAKE_COMMAND} -E copy
74+ "<BINARY_DIR>/libusb_install/lib/${CMAKE_STATIC_LIBRARY_PREFIX} usb${CMAKE_STATIC_LIBRARY_SUFFIX} "
75+ "${LIBREALSENSE_LIB_DIR} "
76+ DEPENDEES install
77+ BYPRODUCTS "${LIBREALSENSE_LIB_DIR} /${CMAKE_STATIC_LIBRARY_PREFIX} usb${CMAKE_STATIC_LIBRARY_SUFFIX} "
78+ )
79+ endif ()
0 commit comments