Read SOVERSION from pkg-config

Change-Id: I94b089212111a6521002b30ba296b6bc48208ac6
This commit is contained in:
Uwe L. Korn committed 2017-03-31 20:18:22 +02:00
1 parent a83dbc85f8
commit b97bcf479c
3 files changed
+42 -69

No files matched your search

+18 -56
View File
@@ -226,55 +226,27 @@ endif()
find_package(Arrow REQUIRED)
include_directories(SYSTEM ${ARROW_INCLUDE_DIR})
if (PYARROW_BUNDLE_ARROW_CPP)
# arrow
configure_file(${ARROW_SHARED_LIB}
${BUILD_OUTPUT_ROOT_DIRECTORY}/libarrow${CMAKE_SHARED_LIBRARY_SUFFIX}
function(bundle_arrow_lib library_path)
get_filename_component(LIBRARY_NAME ${${library_path}} NAME_WE)
configure_file(${${library_path}}
${BUILD_OUTPUT_ROOT_DIRECTORY}/${LIBRARY_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
COPYONLY)
configure_file(${ARROW_SHARED_LIB}.0
${BUILD_OUTPUT_ROOT_DIRECTORY}/libarrow${CMAKE_SHARED_LIBRARY_SUFFIX}.0
configure_file(${${library_path}}.${ARROW_ABI_VERSION}
${BUILD_OUTPUT_ROOT_DIRECTORY}/${LIBRARY_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${ARROW_ABI_VERSION}
COPYONLY)
configure_file(${ARROW_SHARED_LIB}.0.0.0
${BUILD_OUTPUT_ROOT_DIRECTORY}/libarrow${CMAKE_SHARED_LIBRARY_SUFFIX}.0.0.0
configure_file(${${library_path}}.${ARROW_SO_VERSION}
${BUILD_OUTPUT_ROOT_DIRECTORY}/${LIBRARY_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${ARROW_SO_VERSION}
COPYONLY)
SET(ARROW_SHARED_LIB
${BUILD_OUTPUT_ROOT_DIRECTORY}/libarrow${CMAKE_SHARED_LIBRARY_SUFFIX})
# arrow_io
configure_file(${ARROW_IO_SHARED_LIB}
${BUILD_OUTPUT_ROOT_DIRECTORY}/libarrow_io${CMAKE_SHARED_LIBRARY_SUFFIX}
COPYONLY)
configure_file(${ARROW_IO_SHARED_LIB}.0
${BUILD_OUTPUT_ROOT_DIRECTORY}/libarrow_io${CMAKE_SHARED_LIBRARY_SUFFIX}.0
COPYONLY)
configure_file(${ARROW_IO_SHARED_LIB}.0.0.0
${BUILD_OUTPUT_ROOT_DIRECTORY}/libarrow_io${CMAKE_SHARED_LIBRARY_SUFFIX}.0.0.0
COPYONLY)
SET(ARROW_IO_SHARED_LIB
${BUILD_OUTPUT_ROOT_DIRECTORY}/libarrow_io${CMAKE_SHARED_LIBRARY_SUFFIX})
# arrow_ipc
configure_file(${ARROW_IPC_SHARED_LIB}
${BUILD_OUTPUT_ROOT_DIRECTORY}/libarrow_ipc${CMAKE_SHARED_LIBRARY_SUFFIX}
COPYONLY)
configure_file(${ARROW_IPC_SHARED_LIB}.0
${BUILD_OUTPUT_ROOT_DIRECTORY}/libarrow_ipc${CMAKE_SHARED_LIBRARY_SUFFIX}.0
COPYONLY)
configure_file(${ARROW_IPC_SHARED_LIB}.0.0.0
${BUILD_OUTPUT_ROOT_DIRECTORY}/libarrow_ipc${CMAKE_SHARED_LIBRARY_SUFFIX}.0.0.0
COPYONLY)
SET(ARROW_IPC_SHARED_LIB
${BUILD_OUTPUT_ROOT_DIRECTORY}/libarrow_ipc${CMAKE_SHARED_LIBRARY_SUFFIX})
configure_file(${ARROW_PYTHON_SHARED_LIB}
${BUILD_OUTPUT_ROOT_DIRECTORY}/libarrow_python${CMAKE_SHARED_LIBRARY_SUFFIX}
COPYONLY)
# arrow_python
configure_file(${ARROW_PYTHON_SHARED_LIB}.0
${BUILD_OUTPUT_ROOT_DIRECTORY}/libarrow_python${CMAKE_SHARED_LIBRARY_SUFFIX}.0
COPYONLY)
configure_file(${ARROW_PYTHON_SHARED_LIB}.0.0.0
${BUILD_OUTPUT_ROOT_DIRECTORY}/libarrow_python${CMAKE_SHARED_LIBRARY_SUFFIX}.0.0.0
COPYONLY)
SET(ARROW_PYTHON_SHARED_LIB
${BUILD_OUTPUT_ROOT_DIRECTORY}/libarrow_python${CMAKE_SHARED_LIBRARY_SUFFIX})
${BUILD_OUTPUT_ROOT_DIRECTORY}/${LIBRARY_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
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
@@ -341,17 +313,7 @@ endif()
if (PYARROW_BUILD_JEMALLOC)
if (PYARROW_BUNDLE_ARROW_CPP)
configure_file(${ARROW_JEMALLOC_SHARED_LIB}
${BUILD_OUTPUT_ROOT_DIRECTORY}/libarrow_jemalloc${CMAKE_SHARED_LIBRARY_SUFFIX}
COPYONLY)
configure_file(${ARROW_JEMALLOC_SHARED_LIB}.0
${BUILD_OUTPUT_ROOT_DIRECTORY}/libarrow_jemalloc${CMAKE_SHARED_LIBRARY_SUFFIX}.0
COPYONLY)
configure_file(${ARROW_JEMALLOC_SHARED_LIB}.0.0.0
${BUILD_OUTPUT_ROOT_DIRECTORY}/libarrow_jemalloc${CMAKE_SHARED_LIBRARY_SUFFIX}.0.0.0
COPYONLY)
SET(ARROW_JEMALLOC_SHARED_LIB
${BUILD_OUTPUT_ROOT_DIRECTORY}/libarrow_jemalloc${CMAKE_SHARED_LIBRARY_SUFFIX})
bundle_arrow_lib(ARROW_JEMALLOC_SHARED_LIB)
endif()
ADD_THIRDPARTY_LIB(arrow_jemalloc
SHARED_LIB ${ARROW_JEMALLOC_SHARED_LIB})
+22 -10
View File
@@ -23,6 +23,8 @@
# ARROW_SHARED_LIB, path to libarrow's shared library
# ARROW_FOUND, whether arrow has been found
include(FindPkgConfig)
set(ARROW_SEARCH_HEADER_PATHS
$ENV{ARROW_HOME}/include
)
@@ -31,16 +33,27 @@ set(ARROW_SEARCH_LIB_PATH
$ENV{ARROW_HOME}/lib
)
find_path(ARROW_INCLUDE_DIR arrow/array.h PATHS
${ARROW_SEARCH_HEADER_PATHS}
# make sure we don't accidentally pick up a different version
NO_DEFAULT_PATH
)
pkg_check_modules(ARROW arrow)
if (ARROW_FOUND)
pkg_get_variable(ARROW_ABI_VERSION arrow abi_version)
message(STATUS "Arrow ABI version: ${ARROW_ABI_VERSION}")
pkg_get_variable(ARROW_SO_VERSION arrow so_version)
message(STATUS "Arrow SO version: ${ARROW_SO_VERSION}")
set(ARROW_INCLUDE_DIR ${ARROW_INCLUDE_DIRS})
set(ARROW_LIBS ${ARROW_LIBRARY_DIRS})
else()
find_path(ARROW_INCLUDE_DIR arrow/array.h PATHS
${ARROW_SEARCH_HEADER_PATHS}
# make sure we don't accidentally pick up a different version
NO_DEFAULT_PATH
)
find_library(ARROW_LIB_PATH NAMES arrow
PATHS
${ARROW_SEARCH_LIB_PATH}
NO_DEFAULT_PATH)
find_library(ARROW_LIB_PATH NAMES arrow
PATHS
${ARROW_SEARCH_LIB_PATH}
NO_DEFAULT_PATH)
get_filename_component(ARROW_LIBS ${ARROW_LIB_PATH} DIRECTORY)
endif()
find_library(ARROW_IO_LIB_PATH NAMES arrow_io
PATHS
@@ -70,7 +83,6 @@ if (ARROW_INCLUDE_DIR AND ARROW_LIB_PATH)
set(ARROW_JEMALLOC_LIB_NAME libarrow_jemalloc)
set(ARROW_PYTHON_LIB_NAME libarrow_python)
get_filename_component(ARROW_LIBS ${ARROW_LIB_PATH} DIRECTORY)
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})
+2 -3
View File
@@ -58,8 +58,7 @@ RUN cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/arrow-dist -DARROW_
RUN make -j5 install
WORKDIR /
# RUN git clone https://github.com/apache/parquet-cpp.git
RUN git clone https://github.com/xhochy/parquet-cpp.git
RUN git clone https://github.com/apache/parquet-cpp.git
WORKDIR /parquet-cpp
RUN git checkout arrow_python-fixes && ARROW_HOME=/arrow-dist cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DPARQUET_BUILD_TESTS=OFF -DPARQUET_ARROW=ON -DPARQUET_BOOST_USE_SHARED=OFF .
RUN ARROW_HOME=/arrow-dist cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DPARQUET_BUILD_TESTS=OFF -DPARQUET_ARROW=ON -DPARQUET_BOOST_USE_SHARED=OFF .
RUN make -j5 install