Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
03320f3
ARROW-15282: [C++][FlightRPC] Split data methods from the underlying …
lidavidm Feb 18, 2022
4950454
ARROW-15282: [C++][FlightRPC] Address feedback
lidavidm Feb 24, 2022
05d1f8c
ARROW-15282: [C++][FlightRPC] Fix gRPC client hanging
lidavidm Feb 28, 2022
8b96ebd
ARROW-15282: [C++][FlightRPC] Split out gRPC server implementation
lidavidm Mar 1, 2022
f43ad06
ARROW-15282: [C++][FlightRPC] Split out gRPC client implementation
lidavidm Mar 1, 2022
cf3c821
ARROW-15282: [C++][FlightRPC] Simplify device check
lidavidm Mar 1, 2022
d565a51
ARROW-15282: [C++][FlightRPC] Fix compile errors
lidavidm Mar 2, 2022
2a1b03b
ARROW-15282: [C++][FlightRPC] Free client after close
lidavidm Mar 2, 2022
27c942b
ARROW-15282: [C++][FlightRPC] Consolidate some transport classes
lidavidm Mar 3, 2022
d6df0ff
ARROW-15282: [C++][FlightRPC] Rename TransportImpl -> Transport
lidavidm Mar 3, 2022
80249e4
ARROW-15282: [C++][FlightRPC] Differentiate between IOError and conne…
lidavidm Mar 3, 2022
1f5e676
ARROW-15282: [C++][FlightRPC] Start splitting out remaining gRPC code…
lidavidm Mar 3, 2022
9502037
ARROW-15282: [C++][FlightRPC] Split out more gRPC-specific code
lidavidm Mar 4, 2022
595ce2d
ARROW-15282: [C++][FlightRPC] Split out even more gRPC-specific code
lidavidm Mar 4, 2022
55a6d0b
ARROW-15282: [C++][FlightRPC] Try to fix MSVC issues
lidavidm Mar 7, 2022
7112221
ARROW-15282: [C++][FlightRPC] Try to fix MSVC issues again
lidavidm Mar 8, 2022
5023df9
ARROW-15282: [C++][FlightRPC] Try to scope windows_compatibility usage
lidavidm Mar 8, 2022
05ffd5d
ARROW-15282: [C++][FlightRPC] Try to fix MinGW
lidavidm Mar 8, 2022
57d3091
ARROW-15282: [C++][FlightRPC] Try to fix MinGW again
lidavidm Mar 8, 2022
283503a
ARROW-15282: [C++][FlightRPC] Backport test additions
lidavidm Mar 8, 2022
44e287b
ARROW-15282: [C++][FlightRPC] Try to fix MinGW again (x2)
lidavidm Mar 8, 2022
3bcb3c3
ARROW-15282: [C++][FlightRPC] Try to fix MinGW again (x3)
lidavidm Mar 9, 2022
e08c4d7
ARROW-15282: [C++][FlightRPC] Format
lidavidm Mar 9, 2022
a77a1a0
ARROW-15282: [C++][FlightRPC] Refactor out CUDA tests
lidavidm Mar 9, 2022
e4a532d
ARROW-15282: [C++][FlightRPC] Add libarrow_cuda to libarrow_flight_te…
lidavidm Mar 9, 2022
4b42ef8
ARROW-15282: [C++][FlightRPC] Address feedback
lidavidm Mar 10, 2022
22ae7a5
ARROW-15282: [C++][FlightRPC] Apply CMake patches
lidavidm Mar 10, 2022
a509c82
ARROW-15282: [C++][FlightRPC] Make ToProto consistent
lidavidm Mar 10, 2022
6fa87e3
ARROW-15282: [C++][FlightRPC] Add missing RETURN_NOT_OK
lidavidm Mar 10, 2022
f6fb18e
ARROW-15282: [C++][FlightRPC] Remove stray gRPC references
lidavidm Mar 11, 2022
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
47 changes: 34 additions & 13 deletions cpp/src/arrow/flight/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,21 +41,29 @@ if(NOT ARROW_GRPC_USE_SHARED)
PARENT_SCOPE)
endif()

set(ARROW_FLIGHT_TEST_INTERFACE_LIBS)
if(ARROW_FLIGHT_TEST_LINKAGE STREQUAL "static")
set(ARROW_FLIGHT_TEST_LINK_LIBS
arrow_flight_static arrow_flight_testing_static ${ARROW_FLIGHT_STATIC_LINK_LIBS}
${ARROW_TEST_LINK_LIBS})
if(ARROW_CUDA)
list(APPEND ARROW_FLIGHT_TEST_INTERFACE_LIBS arrow_cuda_static)
list(APPEND ARROW_FLIGHT_TEST_LINK_LIBS arrow_cuda_static)
endif()
else()
set(ARROW_FLIGHT_TEST_LINK_LIBS arrow_flight_shared arrow_flight_testing_shared
${ARROW_TEST_LINK_LIBS})
if(ARROW_CUDA)
list(APPEND ARROW_FLIGHT_TEST_INTERFACE_LIBS arrow_cuda_shared)
list(APPEND ARROW_FLIGHT_TEST_LINK_LIBS arrow_cuda_shared)
endif()
endif()

# Needed for Flight SQL and integration
set(ARROW_FLIGHT_TEST_LINK_LIBS
${ARROW_FLIGHT_TEST_LINK_LIBS}
PARENT_SCOPE)

# TODO(wesm): Protobuf shared vs static linking

set(FLIGHT_PROTO_PATH "${ARROW_SOURCE_DIR}/../format")
Expand Down Expand Up @@ -162,21 +170,40 @@ endif()
# </KLUDGE> Restore the CXXFLAGS that were modified above
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_BACKUP}")

# Note, we do not compile the generated Protobuf sources directly, instead
# Note, we do not compile the generated gRPC sources directly, instead
# compiling them via protocol_internal.cc which contains some gRPC template
# overrides to enable Flight-specific optimizations. See comments in
# protocol_internal.cc
set(ARROW_FLIGHT_SRCS
"${CMAKE_CURRENT_BINARY_DIR}/Flight.pb.cc"
client.cc
client_cookie_middleware.cc
client_header_internal.cc
internal.cc
protocol_internal.cc
cookie_internal.cc
serialization_internal.cc
server.cc
server_auth.cc
transport.cc
transport_server.cc
# Bundle the gRPC impl with libarrow_flight
transport/grpc/grpc_client.cc
transport/grpc/grpc_server.cc
transport/grpc/serialization_internal.cc
transport/grpc/protocol_grpc_internal.cc
transport/grpc/util_internal.cc
types.cc)

if(MSVC)
# Protobuf generated files trigger spurious warnings on MSVC.
foreach(GENERATED_SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Flight.pb.cc"
"${CMAKE_CURRENT_BINARY_DIR}/Flight.pb.h")
# Suppress missing dll-interface warning
set_source_files_properties("${GENERATED_SOURCE}"
PROPERTIES COMPILE_OPTIONS "/wd4251"
GENERATED TRUE
SKIP_UNITY_BUILD_INCLUSION TRUE)
endforeach()
endif()

add_arrow_lib(arrow_flight
CMAKE_PACKAGE_NAME
ArrowFlight
Expand Down Expand Up @@ -226,10 +253,12 @@ if(ARROW_TESTING)
${BOOST_FILESYSTEM_LIBRARY}
${BOOST_SYSTEM_LIBRARY}
GTest::gtest
${ARROW_FLIGHT_TEST_INTERFACE_LIBS}
STATIC_LINK_LIBS
arrow_static
arrow_flight_static
arrow_testing_static)
arrow_testing_static
${ARROW_FLIGHT_TEST_INTERFACE_LIBS})
endif()

foreach(LIB_TARGET ${ARROW_FLIGHT_TESTING_LIBRARIES})
Expand Down Expand Up @@ -263,14 +292,6 @@ if(ARROW_BUILD_TESTS OR ARROW_BUILD_BENCHMARKS)
add_dependencies(arrow_flight flight-test-server)
endif()

if(ARROW_CUDA AND ARROW_BUILD_TESTS)
add_arrow_test(flight_cuda_test
STATIC_LINK_LIBS
${ARROW_FLIGHT_TEST_LINK_LIBS}
LABELS
"arrow_flight")
endif()

if(ARROW_BUILD_BENCHMARKS)
# Perf server for benchmarks
set(PERF_PROTO_GENERATED_FILES "${CMAKE_CURRENT_BINARY_DIR}/perf.pb.cc"
Expand Down
Loading