summaryrefslogtreecommitdiff
path: root/use-system-nlohmann-json.patch
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2026-04-03 10:12:12 +0000
committerCoprDistGit <infra@openeuler.org>2026-04-03 10:12:12 +0000
commitaf127733a9f96834ff73391df17eb7031126c71b (patch)
tree4f15e225e5195a1cb039f97ccc4cc1e9f26fbe92 /use-system-nlohmann-json.patch
parent903425e84e1d4b2735f77e6979abcc42b7bc713e (diff)
automatic import of librealsense2
Diffstat (limited to 'use-system-nlohmann-json.patch')
-rw-r--r--use-system-nlohmann-json.patch45
1 files changed, 45 insertions, 0 deletions
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