You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by we...@apache.org on 2019/06/13 18:13:43 UTC
[arrow] branch master updated: ARROW-5577: [C++][Alpine] Correct
googletest shared library paths on non-Windows to fix Alpine build
This is an automated email from the ASF dual-hosted git repository.
wesm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/master by this push:
new 509513f ARROW-5577: [C++][Alpine] Correct googletest shared library paths on non-Windows to fix Alpine build
509513f is described below
commit 509513fab616b462f2be1f11db32ae182d4411f9
Author: Wes McKinney <we...@apache.org>
AuthorDate: Thu Jun 13 13:13:04 2019 -0500
ARROW-5577: [C++][Alpine] Correct googletest shared library paths on non-Windows to fix Alpine build
I had to disable Flight which does not build for me due to SSL linking errors. I opened ARROW-5578 about fixing the Flight build on Alpine
Author: Wes McKinney <we...@apache.org>
Closes #4535 from wesm/gtest-shared-lib-fix and squashes the following commits:
190fb0e12 <Wes McKinney> Correct googltest shared library paths on non-Windows to fix Alpine build
---
cpp/Dockerfile.alpine | 1 +
cpp/cmake_modules/ThirdpartyToolchain.cmake | 25 +++++++++++++++----------
2 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/cpp/Dockerfile.alpine b/cpp/Dockerfile.alpine
index a87c628..fe6d4bb 100644
--- a/cpp/Dockerfile.alpine
+++ b/cpp/Dockerfile.alpine
@@ -44,6 +44,7 @@ RUN apk add --no-cache -q \
# ARROW-4917: ORC fails with compiler problems
ENV CC=gcc \
CXX=g++ \
+ ARROW_FLIGHT=OFF \
ARROW_GANDIVA=OFF \
ARROW_ORC=OFF \
ARROW_PARQUET=ON \
diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index 1fe04d7..89f5200 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -1206,24 +1206,30 @@ macro(build_gtest)
set(GTEST_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/googletest_ep-prefix/src/googletest_ep")
set(GTEST_INCLUDE_DIR "${GTEST_PREFIX}/include")
+ set(_GTEST_RUNTIME_DIR ${BUILD_OUTPUT_ROOT_DIRECTORY})
+
if(MSVC)
set(_GTEST_IMPORTED_TYPE IMPORTED_IMPLIB)
set(_GTEST_LIBRARY_SUFFIX
"${CMAKE_GTEST_DEBUG_EXTENSION}${CMAKE_IMPORT_LIBRARY_SUFFIX}")
+ # Use the import libraries from the EP
+ set(_GTEST_LIBRARY_DIR "${GTEST_PREFIX}/lib")
else()
set(_GTEST_IMPORTED_TYPE IMPORTED_LOCATION)
set(_GTEST_LIBRARY_SUFFIX
"${CMAKE_GTEST_DEBUG_EXTENSION}${CMAKE_SHARED_LIBRARY_SUFFIX}")
+
+ # Library and runtime same on non-Windows
+ set(_GTEST_LIBRARY_DIR "${_GTEST_RUNTIME_DIR}")
endif()
set(GTEST_SHARED_LIB
- "${GTEST_PREFIX}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}gtest${_GTEST_LIBRARY_SUFFIX}")
+ "${_GTEST_LIBRARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}gtest${_GTEST_LIBRARY_SUFFIX}")
set(GMOCK_SHARED_LIB
- "${GTEST_PREFIX}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}gmock${_GTEST_LIBRARY_SUFFIX}")
+ "${_GTEST_LIBRARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}gmock${_GTEST_LIBRARY_SUFFIX}")
set(
GTEST_MAIN_SHARED_LIB
-
- "${GTEST_PREFIX}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}gtest_main${_GTEST_LIBRARY_SUFFIX}"
+ "${_GTEST_LIBRARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}gtest_main${_GTEST_LIBRARY_SUFFIX}"
)
set(GTEST_CMAKE_ARGS
${EP_COMMON_TOOLCHAIN}
@@ -1238,18 +1244,17 @@ macro(build_gtest)
set(GTEST_CMAKE_ARGS ${GTEST_CMAKE_ARGS} "-DCMAKE_MACOSX_RPATH:BOOL=ON")
endif()
- set(_GTEST_LIBRARY_DIR ${BUILD_OUTPUT_ROOT_DIRECTORY})
if(MSVC)
if(NOT ("${CMAKE_GENERATOR}" STREQUAL "Ninja"))
- set(_GTEST_LIBRARY_DIR ${BUILD_OUTPUT_ROOT_DIRECTORY}/${CMAKE_BUILD_TYPE})
+ set(_GTEST_RUNTIME_DIR ${_GTEST_RUNTIME_DIR}/${CMAKE_BUILD_TYPE})
endif()
set(GTEST_CMAKE_ARGS
- ${GTEST_CMAKE_ARGS} "-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=${_GTEST_LIBRARY_DIR}"
- "-DCMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}=${_GTEST_LIBRARY_DIR}")
+ ${GTEST_CMAKE_ARGS} "-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=${_GTEST_RUNTIME_DIR}"
+ "-DCMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}=${_GTEST_RUNTIME_DIR}")
else()
set(GTEST_CMAKE_ARGS
- ${GTEST_CMAKE_ARGS} "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=${_GTEST_LIBRARY_DIR}"
- "-DCMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}=${_GTEST_LIBRARY_DIR}")
+ ${GTEST_CMAKE_ARGS} "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=${_GTEST_RUNTIME_DIR}"
+ "-DCMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}=${_GTEST_RUNTIME_DIR}")
endif()
add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1)