diff options
Diffstat (limited to 'disable-json-download.patch')
| -rw-r--r-- | disable-json-download.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/disable-json-download.patch b/disable-json-download.patch new file mode 100644 index 0000000..9f6084d --- /dev/null +++ b/disable-json-download.patch @@ -0,0 +1,53 @@ +--- CMake/external_json.cmake.orig 2026-04-06 14:26:00.677001990 +0800 ++++ CMake/external_json.cmake 2026-04-06 14:26:00.677001990 +0800 +@@ -1,49 +1,10 @@ + cmake_minimum_required(VERSION 3.10) + include(ExternalProject) + +- +- + # We use a function to enforce a scoped variables creation only for the build + # (i.e turn off BUILD_SHARED_LIBS which is used on LRS build as well) + 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) +- ++ find_package(nlohmann_json REQUIRED) + endfunction() + + # Trigger the build |
