mirror of
https://github.com/apache/arrow.git
synced 2026-10-29 00:56:31 +08:00
Consolidate arrow/arrow_io/arrow_ipc into a single shared and static library
Change-Id: Icdc7d231f59aceaa49f5699ea0cb4acb720590fa
This commit is contained in:
1 parent
754bcce686
commit
207749cc69
13 files changed
+97
-419
No files matched your search
@@ -1,28 +0,0 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
includedir=@includedir@
|
||||
|
||||
Name: Apache Arrow I/O GLib
|
||||
Description: C API for Apache Arrow I/O based on GLib
|
||||
Version: @VERSION@
|
||||
Libs: -L${libdir} -larrow-glib-io
|
||||
Cflags: -I${includedir}
|
||||
Requires: arrow-glib arrow-io
|
||||
@@ -1,28 +0,0 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
includedir=@includedir@
|
||||
|
||||
Name: Apache Arrow IPC GLib
|
||||
Description: C API for Apache Arrow IPC based on GLib
|
||||
Version: @VERSION@
|
||||
Libs: -L${libdir} -larrow-glib-ipc
|
||||
Cflags: -I${includedir}
|
||||
Requires: arrow-glib-io arrow-ipc
|
||||
+93
-37
@@ -699,6 +699,49 @@ endif()
|
||||
# set(ARROW_TCMALLOC_AVAILABLE 1)
|
||||
# endif()
|
||||
|
||||
## Flatbuffers
|
||||
|
||||
if("$ENV{FLATBUFFERS_HOME}" STREQUAL "")
|
||||
set(FLATBUFFERS_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/flatbuffers_ep-prefix/src/flatbuffers_ep-install")
|
||||
ExternalProject_Add(flatbuffers_ep
|
||||
URL "https://github.com/google/flatbuffers/archive/v${FLATBUFFERS_VERSION}.tar.gz"
|
||||
CMAKE_ARGS
|
||||
"-DCMAKE_INSTALL_PREFIX:PATH=${FLATBUFFERS_PREFIX}"
|
||||
"-DFLATBUFFERS_BUILD_TESTS=OFF")
|
||||
|
||||
set(FLATBUFFERS_INCLUDE_DIR "${FLATBUFFERS_PREFIX}/include")
|
||||
set(FLATBUFFERS_COMPILER "${FLATBUFFERS_PREFIX}/bin/flatc")
|
||||
set(FLATBUFFERS_VENDORED 1)
|
||||
else()
|
||||
find_package(Flatbuffers REQUIRED)
|
||||
set(FLATBUFFERS_VENDORED 0)
|
||||
endif()
|
||||
|
||||
message(STATUS "Flatbuffers include dir: ${FLATBUFFERS_INCLUDE_DIR}")
|
||||
message(STATUS "Flatbuffers compiler: ${FLATBUFFERS_COMPILER}")
|
||||
include_directories(SYSTEM ${FLATBUFFERS_INCLUDE_DIR})
|
||||
|
||||
########################################################################
|
||||
# HDFS thirdparty setup
|
||||
|
||||
if (DEFINED ENV{HADOOP_HOME})
|
||||
set(HADOOP_HOME $ENV{HADOOP_HOME})
|
||||
if (NOT EXISTS "${HADOOP_HOME}/include/hdfs.h")
|
||||
message(STATUS "Did not find hdfs.h in expected location, using vendored one")
|
||||
set(HADOOP_HOME "${THIRDPARTY_DIR}/hadoop")
|
||||
endif()
|
||||
else()
|
||||
set(HADOOP_HOME "${THIRDPARTY_DIR}/hadoop")
|
||||
endif()
|
||||
|
||||
set(HDFS_H_PATH "${HADOOP_HOME}/include/hdfs.h")
|
||||
if (NOT EXISTS ${HDFS_H_PATH})
|
||||
message(FATAL_ERROR "Did not find hdfs.h at ${HDFS_H_PATH}")
|
||||
endif()
|
||||
message(STATUS "Found hdfs.h at: " ${HDFS_H_PATH})
|
||||
|
||||
include_directories(SYSTEM "${HADOOP_HOME}/include")
|
||||
|
||||
############################################################
|
||||
# Linker setup
|
||||
############################################################
|
||||
@@ -808,10 +851,37 @@ endif()
|
||||
############################################################
|
||||
|
||||
set(ARROW_LINK_LIBS
|
||||
${BOOST_REGEX_LIBRARY})
|
||||
${BOOST_REGEX_LIBRARY})
|
||||
|
||||
set(ARROW_PRIVATE_LINK_LIBS
|
||||
)
|
||||
set(ARROW_STATIC_LINK_LIBS)
|
||||
|
||||
set(ARROW_SHARED_PRIVATE_LINK_LIBS
|
||||
${BOOST_SYSTEM_LIBRARY}
|
||||
${BOOST_FILESYSTEM_LIBRARY})
|
||||
|
||||
set(ARROW_STATIC_PRIVATE_LINK_LIBS
|
||||
${BOOST_SYSTEM_LIBRARY}
|
||||
${BOOST_FILESYSTEM_LIBRARY})
|
||||
|
||||
if (NOT MSVC)
|
||||
set(ARROW_LINK_LIBS
|
||||
${ARROW_LINK_LIBS}
|
||||
${CMAKE_DL_LIBS})
|
||||
endif()
|
||||
|
||||
if(RAPIDJSON_VENDORED)
|
||||
set(ARROW_DEPENDENCIES ${ARROW_DEPENDENCIES} rapidjson_ep)
|
||||
endif()
|
||||
|
||||
if(FLATBUFFERS_VENDORED)
|
||||
set(ARROW_DEPENDENCIES ${ARROW_DEPENDENCIES} flatbuffers_ep)
|
||||
endif()
|
||||
|
||||
add_subdirectory(src/arrow)
|
||||
add_subdirectory(src/arrow/io)
|
||||
add_subdirectory(src/arrow/ipc)
|
||||
|
||||
set(ARROW_DEPENDENCIES ${ARROW_DEPENDENCIES} metadata_fbs)
|
||||
|
||||
set(ARROW_SRCS
|
||||
src/arrow/array.cc
|
||||
@@ -827,6 +897,19 @@ set(ARROW_SRCS
|
||||
src/arrow/type.cc
|
||||
src/arrow/visitor.cc
|
||||
|
||||
src/arrow/io/file.cc
|
||||
src/arrow/io/hdfs.cc
|
||||
src/arrow/io/hdfs-internal.cc
|
||||
src/arrow/io/interfaces.cc
|
||||
src/arrow/io/memory.cc
|
||||
|
||||
src/arrow/ipc/feather.cc
|
||||
src/arrow/ipc/json.cc
|
||||
src/arrow/ipc/json-internal.cc
|
||||
src/arrow/ipc/metadata.cc
|
||||
src/arrow/ipc/reader.cc
|
||||
src/arrow/ipc/writer.cc
|
||||
|
||||
src/arrow/util/bit-util.cc
|
||||
src/arrow/util/decimal.cc
|
||||
)
|
||||
@@ -838,52 +921,25 @@ if(NOT APPLE AND NOT MSVC)
|
||||
set(ARROW_SHARED_LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/src/arrow/symbols.map")
|
||||
endif()
|
||||
|
||||
set(ARROW_ALL_SRCS
|
||||
${ARROW_SRCS})
|
||||
|
||||
ADD_ARROW_LIB(arrow
|
||||
SOURCES ${ARROW_SRCS}
|
||||
SOURCES ${ARROW_ALL_SRCS}
|
||||
DEPENDENCIES ${ARROW_DEPENDENCIES}
|
||||
SHARED_LINK_FLAGS ${ARROW_SHARED_LINK_FLAGS}
|
||||
SHARED_LINK_LIBS ${ARROW_LINK_LIBS}
|
||||
SHARED_PRIVATE_LINK_LIBS ${ARROW_SHARED_PRIVATE_LINK_LIBS}
|
||||
STATIC_LINK_LIBS ${ARROW_STATIC_LINK_LIBS}
|
||||
STATIC_PRIVATE_LINK_LIBS ${ARROW_STATIC_PRIVATE_LINK_LIBS}
|
||||
)
|
||||
|
||||
add_subdirectory(src/arrow)
|
||||
add_subdirectory(src/arrow/io)
|
||||
add_subdirectory(src/arrow/util)
|
||||
|
||||
if(ARROW_JEMALLOC)
|
||||
add_subdirectory(src/arrow/jemalloc)
|
||||
endif()
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# IPC library
|
||||
|
||||
if(ARROW_PYTHON)
|
||||
set(ARROW_IPC on)
|
||||
endif()
|
||||
|
||||
## Flatbuffers
|
||||
if(ARROW_IPC)
|
||||
if("$ENV{FLATBUFFERS_HOME}" STREQUAL "")
|
||||
set(FLATBUFFERS_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/flatbuffers_ep-prefix/src/flatbuffers_ep-install")
|
||||
ExternalProject_Add(flatbuffers_ep
|
||||
URL "https://github.com/google/flatbuffers/archive/v${FLATBUFFERS_VERSION}.tar.gz"
|
||||
CMAKE_ARGS
|
||||
"-DCMAKE_INSTALL_PREFIX:PATH=${FLATBUFFERS_PREFIX}"
|
||||
"-DFLATBUFFERS_BUILD_TESTS=OFF")
|
||||
|
||||
set(FLATBUFFERS_INCLUDE_DIR "${FLATBUFFERS_PREFIX}/include")
|
||||
set(FLATBUFFERS_COMPILER "${FLATBUFFERS_PREFIX}/bin/flatc")
|
||||
set(FLATBUFFERS_VENDORED 1)
|
||||
else()
|
||||
find_package(Flatbuffers REQUIRED)
|
||||
set(FLATBUFFERS_VENDORED 0)
|
||||
endif()
|
||||
|
||||
message(STATUS "Flatbuffers include dir: ${FLATBUFFERS_INCLUDE_DIR}")
|
||||
message(STATUS "Flatbuffers compiler: ${FLATBUFFERS_COMPILER}")
|
||||
include_directories(SYSTEM ${FLATBUFFERS_INCLUDE_DIR})
|
||||
add_subdirectory(src/arrow/ipc)
|
||||
endif()
|
||||
|
||||
if(ARROW_PYTHON)
|
||||
find_package(PythonLibsNew REQUIRED)
|
||||
find_package(NumPy REQUIRED)
|
||||
|
||||
@@ -18,90 +18,9 @@
|
||||
# ----------------------------------------------------------------------
|
||||
# arrow_io : Arrow IO interfaces
|
||||
|
||||
# HDFS thirdparty setup
|
||||
if (DEFINED ENV{HADOOP_HOME})
|
||||
set(HADOOP_HOME $ENV{HADOOP_HOME})
|
||||
if (NOT EXISTS "${HADOOP_HOME}/include/hdfs.h")
|
||||
message(STATUS "Did not find hdfs.h in expected location, using vendored one")
|
||||
set(HADOOP_HOME "${THIRDPARTY_DIR}/hadoop")
|
||||
endif()
|
||||
else()
|
||||
set(HADOOP_HOME "${THIRDPARTY_DIR}/hadoop")
|
||||
endif()
|
||||
|
||||
set(HDFS_H_PATH "${HADOOP_HOME}/include/hdfs.h")
|
||||
if (NOT EXISTS ${HDFS_H_PATH})
|
||||
message(FATAL_ERROR "Did not find hdfs.h at ${HDFS_H_PATH}")
|
||||
endif()
|
||||
message(STATUS "Found hdfs.h at: " ${HDFS_H_PATH})
|
||||
|
||||
include_directories(SYSTEM "${HADOOP_HOME}/include")
|
||||
|
||||
# arrow_io library
|
||||
if (MSVC)
|
||||
set(ARROW_IO_STATIC_LINK_LIBS
|
||||
arrow_static
|
||||
)
|
||||
set(ARROW_IO_SHARED_LINK_LIBS
|
||||
arrow_shared
|
||||
)
|
||||
else()
|
||||
set(ARROW_IO_STATIC_LINK_LIBS
|
||||
arrow_static
|
||||
${CMAKE_DL_LIBS}
|
||||
)
|
||||
set(ARROW_IO_SHARED_LINK_LIBS
|
||||
arrow_shared
|
||||
${CMAKE_DL_LIBS}
|
||||
)
|
||||
endif()
|
||||
|
||||
set(ARROW_IO_SHARED_PRIVATE_LINK_LIBS
|
||||
${BOOST_SYSTEM_LIBRARY}
|
||||
${BOOST_FILESYSTEM_LIBRARY})
|
||||
|
||||
set(ARROW_IO_STATIC_PRIVATE_LINK_LIBS
|
||||
${BOOST_SYSTEM_LIBRARY}
|
||||
${BOOST_FILESYSTEM_LIBRARY})
|
||||
|
||||
set(ARROW_IO_TEST_LINK_LIBS
|
||||
arrow_io_static)
|
||||
|
||||
set(ARROW_IO_SRCS
|
||||
file.cc
|
||||
hdfs.cc
|
||||
hdfs-internal.cc
|
||||
interfaces.cc
|
||||
memory.cc
|
||||
)
|
||||
|
||||
if(NOT APPLE AND NOT MSVC)
|
||||
# Localize thirdparty symbols using a linker version script. This hides them
|
||||
# from the client application. The OS X linker does not support the
|
||||
# version-script option.
|
||||
set(ARROW_IO_LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/symbols.map")
|
||||
endif()
|
||||
|
||||
ADD_ARROW_LIB(arrow_io
|
||||
SOURCES ${ARROW_IO_SRCS}
|
||||
SHARED_LINK_FLAGS ${ARROW_IO_LINK_FLAGS}
|
||||
SHARED_LINK_LIBS ${ARROW_IO_SHARED_LINK_LIBS}
|
||||
SHARED_PRIVATE_LINK_LIBS ${ARROW_IO_SHARED_PRIVATE_LINK_LIBS}
|
||||
STATIC_LINK_LIBS ${ARROW_IO_STATIC_LINK_LIBS}
|
||||
STATIC_PRIVATE_LINK_LIBS ${ARROW_IO_STATIC_PRIVATE_LINK_LIBS}
|
||||
)
|
||||
|
||||
ADD_ARROW_TEST(io-file-test)
|
||||
ARROW_TEST_LINK_LIBRARIES(io-file-test
|
||||
${ARROW_IO_TEST_LINK_LIBS})
|
||||
|
||||
ADD_ARROW_TEST(io-hdfs-test)
|
||||
ARROW_TEST_LINK_LIBRARIES(io-hdfs-test
|
||||
${ARROW_IO_TEST_LINK_LIBS})
|
||||
|
||||
ADD_ARROW_TEST(io-memory-test)
|
||||
ARROW_TEST_LINK_LIBRARIES(io-memory-test
|
||||
${ARROW_IO_TEST_LINK_LIBS})
|
||||
|
||||
# Headers: top level
|
||||
install(FILES
|
||||
@@ -110,11 +29,3 @@ install(FILES
|
||||
interfaces.h
|
||||
memory.h
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/arrow/io")
|
||||
|
||||
# pkg-config support
|
||||
configure_file(arrow-io.pc.in
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/arrow-io.pc"
|
||||
@ONLY)
|
||||
install(
|
||||
FILES "${CMAKE_CURRENT_BINARY_DIR}/arrow-io.pc"
|
||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig/")
|
||||
@@ -1,30 +0,0 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
prefix=@CMAKE_INSTALL_PREFIX@
|
||||
libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
||||
includedir=${prefix}/include
|
||||
|
||||
so_version=@ARROW_SO_VERSION@
|
||||
abi_version=@ARROW_ABI_VERSION@
|
||||
|
||||
Name: Apache Arrow I/O
|
||||
Description: I/O interface for Arrow.
|
||||
Version: @ARROW_VERSION@
|
||||
Libs: -L${libdir} -larrow_io
|
||||
Cflags: -I${includedir}
|
||||
Requires: arrow
|
||||
@@ -1,30 +0,0 @@
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License. See accompanying LICENSE file.
|
||||
|
||||
{
|
||||
# Symbols marked as 'local' are not exported by the DSO and thus may not
|
||||
# be used by client applications.
|
||||
local:
|
||||
# devtoolset / static-libstdc++ symbols
|
||||
__cxa_*;
|
||||
|
||||
extern "C++" {
|
||||
# boost
|
||||
boost::*;
|
||||
|
||||
# devtoolset or -static-libstdc++ - the Red Hat devtoolset statically
|
||||
# links c++11 symbols into binaries so that the result may be executed on
|
||||
# a system with an older libstdc++ which doesn't include the necessary
|
||||
# c++11 symbols.
|
||||
std::*;
|
||||
};
|
||||
};
|
||||
@@ -16,85 +16,24 @@
|
||||
# under the License.
|
||||
|
||||
#######################################
|
||||
# arrow_ipc
|
||||
#######################################
|
||||
|
||||
set(ARROW_IPC_SHARED_LINK_LIBS
|
||||
arrow_io_shared
|
||||
arrow_shared
|
||||
)
|
||||
|
||||
set(ARROW_IPC_TEST_LINK_LIBS
|
||||
arrow_ipc_static
|
||||
arrow_io_static
|
||||
arrow_static
|
||||
${BOOST_REGEX_LIBRARY})
|
||||
|
||||
set(ARROW_IPC_SRCS
|
||||
feather.cc
|
||||
json.cc
|
||||
json-internal.cc
|
||||
metadata.cc
|
||||
reader.cc
|
||||
writer.cc
|
||||
)
|
||||
|
||||
if(NOT MSVC AND NOT APPLE)
|
||||
# Localize thirdparty symbols using a linker version script. This hides them
|
||||
# from the client application. The OS X linker does not support the
|
||||
# version-script option.
|
||||
set(ARROW_IPC_LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/symbols.map")
|
||||
endif()
|
||||
|
||||
if(RAPIDJSON_VENDORED)
|
||||
set(IPC_DEPENDENCIES ${IPC_DEPENDENCIES} rapidjson_ep)
|
||||
endif()
|
||||
|
||||
if(FLATBUFFERS_VENDORED)
|
||||
set(IPC_DEPENDENCIES ${IPC_DEPENDENCIES} flatbuffers_ep)
|
||||
endif()
|
||||
|
||||
ADD_ARROW_LIB(arrow_ipc
|
||||
SOURCES ${ARROW_IPC_SRCS}
|
||||
DEPENDENCIES ${IPC_DEPENDENCIES}
|
||||
SHARED_LINK_FLAGS ${ARROW_IPC_LINK_FLAGS}
|
||||
SHARED_LINK_LIBS ${ARROW_IPC_SHARED_LINK_LIBS}
|
||||
STATIC_LINK_LIBS ${ARROW_IO_SHARED_PRIVATE_LINK_LIBS}
|
||||
)
|
||||
# Messaging and interprocess communication
|
||||
|
||||
ADD_ARROW_TEST(feather-test)
|
||||
ARROW_TEST_LINK_LIBRARIES(feather-test
|
||||
${ARROW_IPC_TEST_LINK_LIBS})
|
||||
|
||||
ADD_ARROW_TEST(ipc-read-write-test)
|
||||
ARROW_TEST_LINK_LIBRARIES(ipc-read-write-test
|
||||
${ARROW_IPC_TEST_LINK_LIBS})
|
||||
|
||||
ADD_ARROW_TEST(ipc-json-test)
|
||||
ARROW_TEST_LINK_LIBRARIES(ipc-json-test
|
||||
${ARROW_IPC_TEST_LINK_LIBS})
|
||||
|
||||
ADD_ARROW_TEST(json-integration-test)
|
||||
ARROW_TEST_LINK_LIBRARIES(json-integration-test
|
||||
${ARROW_IPC_TEST_LINK_LIBS})
|
||||
|
||||
if (ARROW_BUILD_TESTS)
|
||||
target_link_libraries(json-integration-test
|
||||
gflags
|
||||
gtest
|
||||
${BOOST_FILESYSTEM_LIBRARY}
|
||||
${BOOST_SYSTEM_LIBRARY})
|
||||
gflags)
|
||||
|
||||
if (UNIX)
|
||||
if (APPLE)
|
||||
target_link_libraries(json-integration-test
|
||||
${CMAKE_DL_LIBS})
|
||||
set_target_properties(json-integration-test
|
||||
PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
|
||||
else()
|
||||
target_link_libraries(json-integration-test
|
||||
pthread
|
||||
${CMAKE_DL_LIBS})
|
||||
pthread)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
@@ -127,6 +66,7 @@ if(FLATBUFFERS_VENDORED)
|
||||
else()
|
||||
set(FBS_DEPENDS ${ABS_FBS_SRC})
|
||||
endif()
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${FBS_OUTPUT_FILES}
|
||||
COMMAND ${FLATBUFFERS_COMPILER} -c -o ${OUTPUT_DIR} ${ABS_FBS_SRC}
|
||||
@@ -136,7 +76,6 @@ add_custom_command(
|
||||
)
|
||||
|
||||
add_custom_target(metadata_fbs DEPENDS ${FBS_OUTPUT_FILES})
|
||||
add_dependencies(arrow_ipc_objlib metadata_fbs)
|
||||
|
||||
# Headers: top level
|
||||
install(FILES
|
||||
@@ -148,26 +87,14 @@ install(FILES
|
||||
writer.h
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/arrow/ipc")
|
||||
|
||||
# pkg-config support
|
||||
configure_file(arrow-ipc.pc.in
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/arrow-ipc.pc"
|
||||
@ONLY)
|
||||
install(
|
||||
FILES "${CMAKE_CURRENT_BINARY_DIR}/arrow-ipc.pc"
|
||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig/")
|
||||
|
||||
if(MSVC)
|
||||
set(UTIL_LINK_LIBS
|
||||
arrow_ipc_static
|
||||
arrow_io_static
|
||||
arrow_static
|
||||
${BOOST_FILESYSTEM_LIBRARY}
|
||||
${BOOST_SYSTEM_LIBRARY}
|
||||
${BOOST_REGEX_LIBRARY})
|
||||
else()
|
||||
set(UTIL_LINK_LIBS
|
||||
arrow_ipc_static
|
||||
arrow_io_static
|
||||
arrow_static
|
||||
${BOOST_FILESYSTEM_LIBRARY}
|
||||
${BOOST_SYSTEM_LIBRARY}
|
||||
@@ -183,5 +110,3 @@ if (ARROW_BUILD_UTILITIES)
|
||||
endif()
|
||||
|
||||
ADD_ARROW_BENCHMARK(ipc-read-write-benchmark)
|
||||
ARROW_BENCHMARK_LINK_LIBRARIES(ipc-read-write-benchmark
|
||||
${ARROW_IPC_TEST_LINK_LIBS})
|
||||
@@ -1,30 +0,0 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
prefix=@CMAKE_INSTALL_PREFIX@
|
||||
libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
||||
includedir=${prefix}/include
|
||||
|
||||
so_version=@ARROW_SO_VERSION@
|
||||
abi_version=@ARROW_ABI_VERSION@
|
||||
|
||||
Name: Apache Arrow IPC
|
||||
Description: IPC extension for Arrow.
|
||||
Version: @ARROW_VERSION@
|
||||
Libs: -L${libdir} -larrow_ipc
|
||||
Cflags: -I${includedir}
|
||||
Requires: arrow-io
|
||||
@@ -1,30 +0,0 @@
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License. See accompanying LICENSE file.
|
||||
|
||||
{
|
||||
# Symbols marked as 'local' are not exported by the DSO and thus may not
|
||||
# be used by client applications.
|
||||
local:
|
||||
# devtoolset / static-libstdc++ symbols
|
||||
__cxa_*;
|
||||
|
||||
extern "C++" {
|
||||
# boost
|
||||
boost::*;
|
||||
|
||||
# devtoolset or -static-libstdc++ - the Red Hat devtoolset statically
|
||||
# links c++11 symbols into binaries so that the result may be executed on
|
||||
# a system with an older libstdc++ which doesn't include the necessary
|
||||
# c++11 symbols.
|
||||
std::*;
|
||||
};
|
||||
};
|
||||
@@ -35,8 +35,6 @@ endif()
|
||||
set(ARROW_PYTHON_MIN_TEST_LIBS
|
||||
arrow_python_test_main
|
||||
arrow_python_static
|
||||
arrow_ipc_static
|
||||
arrow_io_static
|
||||
arrow_static
|
||||
${BOOST_REGEX_LIBRARY})
|
||||
|
||||
@@ -61,8 +59,6 @@ set(ARROW_PYTHON_SRCS
|
||||
)
|
||||
|
||||
set(ARROW_PYTHON_SHARED_LINK_LIBS
|
||||
arrow_io_shared
|
||||
arrow_ipc_shared
|
||||
arrow_shared
|
||||
)
|
||||
|
||||
|
||||
@@ -244,17 +244,11 @@ endfunction(bundle_arrow_lib)
|
||||
if (PYARROW_BUNDLE_ARROW_CPP)
|
||||
# arrow
|
||||
bundle_arrow_lib(ARROW_SHARED_LIB)
|
||||
bundle_arrow_lib(ARROW_IO_SHARED_LIB)
|
||||
bundle_arrow_lib(ARROW_IPC_SHARED_LIB)
|
||||
bundle_arrow_lib(ARROW_PYTHON_SHARED_LIB)
|
||||
endif()
|
||||
|
||||
ADD_THIRDPARTY_LIB(arrow
|
||||
SHARED_LIB ${ARROW_SHARED_LIB})
|
||||
ADD_THIRDPARTY_LIB(arrow_io
|
||||
SHARED_LIB ${ARROW_IO_SHARED_LIB})
|
||||
ADD_THIRDPARTY_LIB(arrow_ipc
|
||||
SHARED_LIB ${ARROW_IPC_SHARED_LIB})
|
||||
ADD_THIRDPARTY_LIB(arrow_python
|
||||
SHARED_LIB ${ARROW_PYTHON_SHARED_LIB})
|
||||
|
||||
@@ -279,8 +273,6 @@ set(CYTHON_EXTENSIONS
|
||||
|
||||
set(LINK_LIBS
|
||||
arrow_shared
|
||||
arrow_io_shared
|
||||
arrow_ipc_shared
|
||||
arrow_python_shared
|
||||
)
|
||||
|
||||
|
||||
@@ -55,16 +55,6 @@ else()
|
||||
get_filename_component(ARROW_LIBS ${ARROW_LIB_PATH} DIRECTORY)
|
||||
endif()
|
||||
|
||||
find_library(ARROW_IO_LIB_PATH NAMES arrow_io
|
||||
PATHS
|
||||
${ARROW_SEARCH_LIB_PATH}
|
||||
NO_DEFAULT_PATH)
|
||||
|
||||
find_library(ARROW_IPC_LIB_PATH NAMES arrow_ipc
|
||||
PATHS
|
||||
${ARROW_SEARCH_LIB_PATH}
|
||||
NO_DEFAULT_PATH)
|
||||
|
||||
find_library(ARROW_JEMALLOC_LIB_PATH NAMES arrow_jemalloc
|
||||
PATHS
|
||||
${ARROW_SEARCH_LIB_PATH}
|
||||
@@ -78,20 +68,12 @@ find_library(ARROW_PYTHON_LIB_PATH NAMES arrow_python
|
||||
if (ARROW_INCLUDE_DIR AND ARROW_LIBS)
|
||||
set(ARROW_FOUND TRUE)
|
||||
set(ARROW_LIB_NAME libarrow)
|
||||
set(ARROW_IO_LIB_NAME libarrow_io)
|
||||
set(ARROW_IPC_LIB_NAME libarrow_ipc)
|
||||
set(ARROW_JEMALLOC_LIB_NAME libarrow_jemalloc)
|
||||
set(ARROW_PYTHON_LIB_NAME libarrow_python)
|
||||
|
||||
set(ARROW_STATIC_LIB ${ARROW_SEARCH_LIB_PATH}/${ARROW_LIB_NAME}.a)
|
||||
set(ARROW_SHARED_LIB ${ARROW_LIBS}/${ARROW_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||
|
||||
set(ARROW_IO_STATIC_LIB ${ARROW_SEARCH_LIB_PATH}/${ARROW_IO_LIB_NAME}.a)
|
||||
set(ARROW_IO_SHARED_LIB ${ARROW_LIBS}/${ARROW_IO_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||
|
||||
set(ARROW_IPC_STATIC_LIB ${ARROW_SEARCH_LIB_PATH}/${ARROW_IPC_LIB_NAME}.a)
|
||||
set(ARROW_IPC_SHARED_LIB ${ARROW_LIBS}/${ARROW_IPC_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||
|
||||
set(ARROW_JEMALLOC_STATIC_LIB ${ARROW_SEARCH_LIB_PATH}/${ARROW_JEMALLOC_LIB_NAME}.a)
|
||||
set(ARROW_JEMALLOC_SHARED_LIB ${ARROW_LIBS}/${ARROW_JEMALLOC_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||
|
||||
@@ -100,8 +82,6 @@ if (ARROW_INCLUDE_DIR AND ARROW_LIBS)
|
||||
|
||||
if (NOT Arrow_FIND_QUIETLY)
|
||||
message(STATUS "Found the Arrow core library: ${ARROW_LIB_PATH}")
|
||||
message(STATUS "Found the Arrow IO library: ${ARROW_IO_LIB_PATH}")
|
||||
message(STATUS "Found the Arrow IPC library: ${ARROW_IPC_LIB_PATH}")
|
||||
message(STATUS "Found the Arrow jemalloc library: ${ARROW_JEMALLOC_LIB_PATH}")
|
||||
endif ()
|
||||
else ()
|
||||
@@ -123,10 +103,6 @@ mark_as_advanced(
|
||||
ARROW_LIBS
|
||||
ARROW_STATIC_LIB
|
||||
ARROW_SHARED_LIB
|
||||
ARROW_IO_STATIC_LIB
|
||||
ARROW_IO_SHARED_LIB
|
||||
ARROW_IPC_STATIC_LIB
|
||||
ARROW_IPC_SHARED_LIB
|
||||
ARROW_JEMALLOC_STATIC_LIB
|
||||
ARROW_JEMALLOC_SHARED_LIB
|
||||
)
|
||||
@@ -224,8 +224,6 @@ class build_ext(_build_ext):
|
||||
|
||||
if self.bundle_arrow_cpp:
|
||||
move_lib("arrow")
|
||||
move_lib("arrow_io")
|
||||
move_lib("arrow_ipc")
|
||||
move_lib("arrow_python")
|
||||
if self.with_jemalloc:
|
||||
move_lib("arrow_jemalloc")
|
||||
|
||||
Reference in new issue
Block a user