Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions cpp/cmake/modules/FindDepsArrowAdapter.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,25 @@ cmake_minimum_required(VERSION 3.7.2)
# ARROW
find_package(Arrow REQUIRED)
include_directories(${ARROW_INCLUDE_DIR})

# Resolve Arrow link targets based on platform and vcpkg configuration.
# Sets CSP_ARROW_LINK_LIBS for use in target_link_libraries().
# On Windows with vcpkg, also applies the ws2_32.dll fix and defines ARROW_STATIC.
if(WIN32)
if(CSP_USE_VCPKG)
set(CSP_ARROW_LINK_LIBS Arrow::arrow_static)
add_compile_definitions(ARROW_STATIC)
else()
# Until we manage to get the fix for ws2_32.dll in arrow-16 into conda, manually fix the error here
get_target_property(LINK_LIBS Arrow::arrow_shared INTERFACE_LINK_LIBRARIES)
string(REPLACE "ws2_32.dll" "ws2_32" FIXED_LINK_LIBS "${LINK_LIBS}")
set_target_properties(Arrow::arrow_shared PROPERTIES INTERFACE_LINK_LIBRARIES "${FIXED_LINK_LIBS}")
set(CSP_ARROW_LINK_LIBS arrow_shared)
endif()
else()
if(CSP_USE_VCPKG)
set(CSP_ARROW_LINK_LIBS arrow_static)
else()
set(CSP_ARROW_LINK_LIBS arrow)
endif()
endif()
22 changes: 19 additions & 3 deletions cpp/cmake/modules/FindDepsParquetAdapter.cmake
Original file line number Diff line number Diff line change
@@ -1,13 +1,29 @@
cmake_minimum_required(VERSION 3.7.2)

# ARROW
find_package(Arrow REQUIRED)
include_directories(${ARROW_INCLUDE_DIR})
# ARROW (reuse FindDepsArrowAdapter for find_package + link target resolution)
find_package(DepsArrowAdapter REQUIRED)

# PARQUET
find_package(Parquet REQUIRED)
include_directories(${PARQUET_INCLUDE_DIR})

# Resolve Parquet link targets based on platform and vcpkg configuration.
# Sets CSP_PARQUET_LINK_LIBS for use in target_link_libraries().
if(WIN32)
if(CSP_USE_VCPKG)
set(CSP_PARQUET_LINK_LIBS Parquet::parquet_static)
add_compile_definitions(PARQUET_STATIC)
else()
set(CSP_PARQUET_LINK_LIBS parquet_shared)
endif()
else()
if(CSP_USE_VCPKG)
set(CSP_PARQUET_LINK_LIBS parquet_static)
else()
set(CSP_PARQUET_LINK_LIBS parquet)
endif()
endif()

# Other deps
find_package(Thrift REQUIRED)
find_package(Brotli REQUIRED)
Expand Down
1 change: 1 addition & 0 deletions cpp/csp/adapters/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,5 @@ if(CSP_BUILD_WS_CLIENT_ADAPTER)
add_subdirectory(websocket)
endif()

add_subdirectory(arrow)
add_subdirectory(utils)
Loading
Loading