diff options
| author | CoprDistGit <infra@openeuler.org> | 2026-04-03 10:12:12 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2026-04-03 10:12:12 +0000 |
| commit | af127733a9f96834ff73391df17eb7031126c71b (patch) | |
| tree | 4f15e225e5195a1cb039f97ccc4cc1e9f26fbe92 | |
| parent | 903425e84e1d4b2735f77e6979abcc42b7bc713e (diff) | |
automatic import of librealsense2
| -rw-r--r-- | librealsense2.spec | 4 | ||||
| -rw-r--r-- | use-system-nlohmann-json.patch | 45 |
2 files changed, 49 insertions, 0 deletions
diff --git a/librealsense2.spec b/librealsense2.spec index 133cdc8..a8818b9 100644 --- a/librealsense2.spec +++ b/librealsense2.spec @@ -18,16 +18,20 @@ Url: https://github.com/realsenseai/librealsense/ License: Apache License, Version 2.0 Patch1: 0-librealsense2-fix-threads-not-found.patch +Patch2: use-system-nlohmann-json.patch Source0: %{RosPkgName}-%{version}.tar.gz.aa Source1: %{RosPkgName}-%{version}.tar.gz.ab Source2: %{RosPkgName}-%{version}.tar.gz.ac Source3: %{RosPkgName}-%{version}.tar.gz.ad Requires: libX11-devel +Requires: glfw-devel Requires: mesa-libGL-devel Requires: ros-%{ros_distro}-ros-workspace BuildRequires: libX11-devel +BuildRequires: glfw-devel +BuildRequires: nlohmann-json-devel BuildRequires: mesa-libGL-devel BuildRequires: pkgconfig BuildRequires: libusbx-devel diff --git a/use-system-nlohmann-json.patch b/use-system-nlohmann-json.patch new file mode 100644 index 0000000..3f7b60d --- /dev/null +++ b/use-system-nlohmann-json.patch @@ -0,0 +1,45 @@ +--- a/CMake/external_json.cmake ++++ b/CMake/external_json.cmake +@@ -1,37 +1,3 @@ + function(get_nlohmann_json) +- +- message( STATUS #CHECK_START +- "Fetching nlohmann/json..." ) +- #list( APPEND CMAKE_MESSAGE_INDENT " " ) # Indent outputs +- +- # We want to clone the json repo and build it here, during configuration, so we can use it. +- # But ExternalProject_add is limited in that it only does its magic during build. +- # This is possible in CMake 3.12+ with FetchContent and FetchContent_MakeAvailable in 3.14+ (meaning Ubuntu 20) +- # but we need to adhere to CMake 3.10 (Ubuntu 18). +- # So instead, we invoke a new CMake project just to download pybind: +- configure_file( CMake/json-download.cmake.in +- ${CMAKE_BINARY_DIR}/external-projects/json-download/CMakeLists.txt ) +- execute_process( COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . "--no-warn-unused-cli" +- -DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} +- -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} +- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/external-projects/json-download" +- OUTPUT_QUIET +- RESULT_VARIABLE configure_ret ) +- execute_process( COMMAND "${CMAKE_COMMAND}" --build . +- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/external-projects/json-download" +- OUTPUT_QUIET +- RESULT_VARIABLE build_ret ) +- +- if( configure_ret OR build_ret ) +- message( FATAL_ERROR "Failed to download nlohmann/json" ) +- endif() +- +- add_subdirectory( "${CMAKE_BINARY_DIR}/third-party/json" +- "${CMAKE_BINARY_DIR}/third-party/json/build" ) +- +- # We cannot directly interface with nlohmann_json (doesn't work on bionic) +- #install( TARGETS nlohmann_json EXPORT realsense2Targets ) +- +- message( STATUS #CHECK_PASS +- "Fetching nlohmann/json - Done" ) +- #list( POP_BACK CMAKE_MESSAGE_INDENT ) # Unindent outputs (requires cmake 3.15) +- + endfunction() + + # Trigger the build |
