[rerun-sdk] New port at version 0.22.1 (#44854)

Co-authored-by: Kai Pastor <dg0yt@darc.de>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
This commit is contained in:
Adolfo Solis 2025-04-08 18:58:01 -07:00 committed by GitHub
parent c88d511fcf
commit eff1536d97
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 135 additions and 0 deletions

View File

@ -0,0 +1,33 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 101ee6b8cb..591e47332b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -109,16 +109,24 @@ target_link_libraries(rerun_sdk PRIVATE rerun_c)
# Arrow dependency.
# This makes the setup a lot easier on Windows where we otherwise need to put Arrow.dll either in path or copy it with the executable.
# Additionally reduces risk of picking up system libraries on Mac / Linux.
-set(RERUN_ARROW_LINK_SHARED_DEFAULT OFF)
-option(RERUN_ARROW_LINK_SHARED "Link to the Arrow shared library." ${RERUN_ARROW_LINK_SHARED_DEFAULT})
option(RERUN_DOWNLOAD_AND_BUILD_ARROW "If enabled, arrow will be added as an external project and built with the minimal set required by the Rerun C++ SDK" ON)
+if (NOT RERUN_DOWNLOAD_AND_BUILD_ARROW)
+ find_package(Arrow REQUIRED)
+endif()
+
+if (ARROW_BUILD_SHARED)
+ set(RERUN_ARROW_LINK_SHARED_DEFAULT ON)
+else()
+ set(RERUN_ARROW_LINK_SHARED_DEFAULT OFF)
+endif()
+
+option(RERUN_ARROW_LINK_SHARED "Link to the Arrow shared library." ${RERUN_ARROW_LINK_SHARED_DEFAULT})
+
if(RERUN_DOWNLOAD_AND_BUILD_ARROW)
include(download_and_build_arrow.cmake)
download_and_build_arrow() # populates `rerun_arrow_target`
else()
- find_package(Arrow REQUIRED)
-
if(RERUN_ARROW_LINK_SHARED)
add_library(rerun_arrow_target ALIAS Arrow::arrow_shared)
else()

View File

@ -0,0 +1,15 @@
diff --git a/Config.cmake.in b/Config.cmake.in
index c093c4432b..d74bbdfce9 100644
--- a/Config.cmake.in
+++ b/Config.cmake.in
@@ -47,7 +47,9 @@ else()
)
endif()
- find_package(Arrow REQUIRED)
+ include(CMakeFindDependencyMacro)
+
+ find_dependency(Arrow)
message(STATUS "Rerun is using a system installed libArrow.")

View File

@ -0,0 +1,51 @@
# Must download SDK distfile because some binaries are prebuilt from Rust.
vcpkg_download_distfile(
ARCHIVE
URLS "https://github.com/rerun-io/rerun/releases/download/${VERSION}/rerun_cpp_sdk.zip"
FILENAME rerun_cpp_sdk.zip
SHA512 1351dd0937d6ddf73622b69a803a7233eb92e5ec52607fc1c775accd015d52eaf3259c0aea64cfac3109f1c55218fb6a4597bff5b067ccdd194cd8695b3f4c8c
)
vcpkg_extract_source_archive(
SOURCE_PATH
ARCHIVE "${ARCHIVE}"
PATCHES
arrow-use-built-linkage.diff # https://github.com/rerun-io/rerun/pull/9550
arrow-use-find-dependency.diff # https://github.com/rerun-io/rerun/pull/9548
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DRERUN_DOWNLOAD_AND_BUILD_ARROW=OFF # Disable downloading and building Arrow
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(PACKAGE_NAME rerun_sdk CONFIG_PATH "lib/cmake/rerun_sdk")
file(GLOB LIBRERUN_C_FILE
RELATIVE "${CURRENT_PACKAGES_DIR}/lib"
"${CURRENT_PACKAGES_DIR}/lib/${VCPKG_TARGET_STATIC_LIBRARY_PREFIX}rerunc_c_-*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}"
)
vcpkg_replace_string(
"${CURRENT_PACKAGES_DIR}/share/rerun_sdk/rerun_sdkConfig.cmake"
"set(RERUN_LIB_DIR \"\${CMAKE_CURRENT_LIST_DIR}/../..\")"
"set(RERUN_LIB_DIR \"\${CMAKE_CURRENT_LIST_DIR}/../../lib\")"
)
vcpkg_replace_string(
"${CURRENT_PACKAGES_DIR}/share/rerun_sdk/rerun_sdkConfig.cmake"
"${SOURCE_PATH}/lib/${LIBRERUN_C_FILE}"
"\${CMAKE_CURRENT_LIST_DIR}/../../lib/${LIBRERUN_C_FILE}"
)
vcpkg_install_copyright(FILE_LIST
"${SOURCE_PATH}/LICENSE-MIT"
"${SOURCE_PATH}/LICENSE-APACHE"
)
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")

4
ports/rerun-sdk/usage Normal file
View File

@ -0,0 +1,4 @@
rerun-sdk provides CMake targets:
find_package(rerun_sdk CONFIG REQUIRED)
target_link_libraries(main PRIVATE rerun_sdk)

View File

@ -0,0 +1,19 @@
{
"name": "rerun-sdk",
"version": "0.22.1",
"description": "Open source log handling and visualization for spatial and embodied AI. Managed infrastructure to ingest, store, analyze, and stream data at scale with built-in visual debugging. Fast, flexible, and easy to use.",
"homepage": "https://rerun.io",
"license": "MIT OR Apache-2.0",
"supports": "(windows & x64) | osx | linux",
"dependencies": [
"arrow",
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
]
}

View File

@ -8124,6 +8124,10 @@
"baseline": "14.2.5",
"port-version": 0
},
"rerun-sdk": {
"baseline": "0.22.1",
"port-version": 0
},
"rest-rpc": {
"baseline": "0.12",
"port-version": 1

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "255644b917b0f72edaa87b2044b4f39773eac335",
"version": "0.22.1",
"port-version": 0
}
]
}