Skip to content

Commit

Permalink
Fix #4050: Use Arrow 10.0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
Wumpf committed Oct 27, 2023
1 parent 4d85227 commit 1c0e495
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 20 deletions.
36 changes: 20 additions & 16 deletions rerun_cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,6 @@ if(DEFINED RERUN_REPOSITORY)
"${CMAKE_CURRENT_SOURCE_DIR}/src/rerun/c/rerun.h"
NEWLINE_STYLE LF # Specify line endings, otherwise CMake wants to change them on Windows.
)

# Add tests!
add_subdirectory(tests)
endif()

# ------------------------------------------------------------------------------
Expand Down Expand Up @@ -155,7 +152,7 @@ if(RERUN_ARROW_EXTERNAL_PROJECT)
arrow_cpp
PREFIX ${ARROW_DOWNLOAD_PATH}
GIT_REPOSITORY https://github.com/apache/arrow.git
GIT_TAG apache-arrow-13.0.0
GIT_TAG apache-arrow-10.0.1
GIT_SHALLOW true
CMAKE_ARGS
--preset ninja-debug-minimal
Expand All @@ -175,31 +172,38 @@ if(RERUN_ARROW_EXTERNAL_PROJECT)

# arrow_cpp target is not a library. Assemble one from it.
if(RERUN_ARROW_LINK_SHARED)
add_library(ArrowCpp SHARED IMPORTED)
add_library(RerunArrowTarget SHARED IMPORTED)

# For windows we need to know both the dll AND the import library.
if(WIN32)
set_target_properties(ArrowCpp PROPERTIES IMPORTED_IMPLIB ${ARROW_DOWNLOAD_PATH}/lib/arrow.lib)
set_target_properties(RerunArrowTarget PROPERTIES IMPORTED_IMPLIB ${ARROW_DOWNLOAD_PATH}/lib/arrow.lib)
endif()
else()
add_library(ArrowCpp STATIC IMPORTED)
add_library(RerunArrowTarget STATIC IMPORTED)
endif()

set_target_properties(ArrowCpp PROPERTIES IMPORTED_LOCATION ${ARROW_LIBRARY_FILE})
add_dependencies(ArrowCpp arrow_cpp)
target_link_libraries(rerun_sdk PRIVATE ArrowCpp)

# Include libarrow as system library so we don't get any warnings from it.
# TODO: this should be a property on ArrowCpp?
include_directories(rerun_sdk SYSTEM ${ARROW_DOWNLOAD_PATH}/include)
add_dependencies(RerunArrowTarget arrow_cpp)
set_target_properties(RerunArrowTarget PROPERTIES IMPORTED_LOCATION ${ARROW_LIBRARY_FILE})
set_target_properties(RerunArrowTarget PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${ARROW_DOWNLOAD_PATH}/include)
else()
find_package(Arrow REQUIRED)

if(RERUN_ARROW_LINK_SHARED)
message(STATUS "Arrow SO version: ${ARROW_FULL_SO_VERSION}")
target_link_libraries(rerun_sdk PRIVATE Arrow::arrow_shared)
add_library(RerunArrowTarget ALIAS Arrow::arrow_shared)
else()
message(STATUS "Arrow version: ${ARROW_VERSION}")
target_link_libraries(rerun_sdk PRIVATE Arrow::arrow_static)
add_library(RerunArrowTarget ALIAS Arrow::arrow_static)
endif()

set(RERUN_ARROW_TARGET Arrow::arrow_shared)
endif()

target_link_libraries(rerun_sdk PRIVATE RerunArrowTarget)

# -----------------------------------------------------------------------------
# Add test subfolder if we're inside the Rerun repository
# (we don't ship them in our fetch-content bundle)
if(DEFINED RERUN_REPOSITORY)
add_subdirectory(tests)
endif()
7 changes: 3 additions & 4 deletions rerun_cpp/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ set_default_warning_settings(rerun_sdk_tests)
# Arrow:

# TODO: copy pasted from parent CMakeLists.txt
target_include_directories(rerun_sdk_tests SYSTEM PRIVATE ${ARROW_DOWNLOAD_PATH}/include)
# target_include_directories(rerun_sdk_tests SYSTEM PRIVATE ${ARROW_DOWNLOAD_PATH}/include)

# message(STATUS "Arrow version: ${ARROW_VERSION}")
# message(STATUS "Arrow SO version: ${ARROW_FULL_SO_VERSION}")
Expand All @@ -32,6 +32,5 @@ target_include_directories(rerun_sdk_tests SYSTEM PRIVATE ${ARROW_DOWNLOAD_PATH}
# target_link_libraries(rerun_sdk_tests PRIVATE Arrow::arrow_static)
# endif()

# Include arrow explicitly again, otherwise the arrow headers won't be declared as system headers.
# and instead become regular headers, causing warnings to be emitted.
target_link_libraries(rerun_sdk_tests PRIVATE loguru::loguru Catch2::Catch2 rerun_sdk)
# Include arrow explicitly again, otherwise the arrow headers won't be found.
target_link_libraries(rerun_sdk_tests PRIVATE loguru::loguru Catch2::Catch2 rerun_sdk RerunArrowTarget)

0 comments on commit 1c0e495

Please sign in to comment.