You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@parquet.apache.org by we...@apache.org on 2017/05/23 18:29:37 UTC
parquet-cpp git commit: PARQUET-996: Improve MSVC build -
ThirdpartyToolchain - Arrow
Repository: parquet-cpp
Updated Branches:
refs/heads/master 2f351f889 -> bac81a7a6
PARQUET-996: Improve MSVC build - ThirdpartyToolchain - Arrow
- Fix LIBRARY_SUFFIX for ARROW_STATIC_LIB.
- Replace hardcoded "NMake Makefiles" by ${CMAKE_GENERATOR} and fix DEPENDEES for arrow_ep copy_dll_step
- Merge versioned by MSVC ExternalProject_Add(arrow_ep and split pre/post-3.7-cmake configurations.
Author: rip.nsk <ri...@gmail.com>
Closes #339 from rip-nsk/PARQUET-996 and squashes the following commits:
50d091f [rip.nsk] Cleanup
8be2f6f [rip.nsk] Merge versioned by MSVC ExternalProject_Add(arrow_ep and split pre/post-3.7-cmake configurations.
53d7ef1 [rip.nsk] Replace harcoded "NMake Makefiles" by ${CMAKE_GENERATOR} and fix DEPENDEES for arrow_ep copy_dll_step
4baf6ad [rip.nsk] Fix LIBRARY_SUFFIX for ARROW_STATIC_LIB.
Project: http://git-wip-us.apache.org/repos/asf/parquet-cpp/repo
Commit: http://git-wip-us.apache.org/repos/asf/parquet-cpp/commit/bac81a7a
Tree: http://git-wip-us.apache.org/repos/asf/parquet-cpp/tree/bac81a7a
Diff: http://git-wip-us.apache.org/repos/asf/parquet-cpp/diff/bac81a7a
Branch: refs/heads/master
Commit: bac81a7a6e13aa28f8b828e336dd80f84950cdcc
Parents: 2f351f8
Author: rip.nsk <ri...@gmail.com>
Authored: Tue May 23 14:29:32 2017 -0400
Committer: Wes McKinney <we...@twosigma.com>
Committed: Tue May 23 14:29:32 2017 -0400
----------------------------------------------------------------------
cmake_modules/FindArrow.cmake | 2 +-
cmake_modules/ThirdpartyToolchain.cmake | 48 ++++++++++------------------
2 files changed, 17 insertions(+), 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/bac81a7a/cmake_modules/FindArrow.cmake
----------------------------------------------------------------------
diff --git a/cmake_modules/FindArrow.cmake b/cmake_modules/FindArrow.cmake
index bd6765a..eb1dfca 100644
--- a/cmake_modules/FindArrow.cmake
+++ b/cmake_modules/FindArrow.cmake
@@ -78,7 +78,7 @@ else()
endif()
get_filename_component(ARROW_LIBS ${ARROW_LIB_PATH} DIRECTORY)
- set(ARROW_STATIC_LIB ${ARROW_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${ARROW_LIB_NAME}${ARROW_MSVC_STATIC_LIB_SUFFIX}${CMAKE_SHARED_LIBRARY_SUFFIX})
+ set(ARROW_STATIC_LIB ${ARROW_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${ARROW_LIB_NAME}${ARROW_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX})
set(ARROW_SHARED_LIB ${ARROW_LIBS}/${CMAKE_SHARED_LIBRARY_PREFIX}${ARROW_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
set(ARROW_SHARED_IMPLIB ${ARROW_LIBS}/${ARROW_LIB_NAME}.lib)
endif ()
http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/bac81a7a/cmake_modules/ThirdpartyToolchain.cmake
----------------------------------------------------------------------
diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake
index edbb961..b324ffb 100644
--- a/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cmake_modules/ThirdpartyToolchain.cmake
@@ -499,7 +499,8 @@ if (NOT ARROW_FOUND)
set(ARROW_STATIC_LIB "${ARROW_LIB_DIR}/libarrow.a")
endif()
- set(ARROW_CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
+ set(ARROW_CMAKE_ARGS
+ -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
-DCMAKE_INSTALL_PREFIX=${ARROW_PREFIX}
@@ -510,10 +511,7 @@ if (NOT ARROW_FOUND)
-DARROW_BUILD_TESTS=OFF)
if (MSVC)
- set(ARROW_CMAKE_ARGS -G "NMake Makefiles" -DARROW_CXXFLAGS="/WX" ${ARROW_CMAKE_ARGS})
- if (NOT PARQUET_BOOST_USE_SHARED)
- set(ARROW_CMAKE_ARGS -DARROW_BOOST_USE_SHARED=OFF ${ARROW_CMAKE_ARGS})
- endif()
+ set(ARROW_CMAKE_ARGS -DARROW_CXXFLAGS="/WX" ${ARROW_CMAKE_ARGS})
endif()
if ("$ENV{PARQUET_ARROW_VERSION}" STREQUAL "")
@@ -528,37 +526,23 @@ if (NOT ARROW_FOUND)
if (CMAKE_VERSION VERSION_GREATER "3.2")
set(ARROW_BUILD_BYPRODUCTS BUILD_BYPRODUCTS "${ARROW_SHARED_LIB}" "${ARROW_STATIC_LIB}")
endif()
+ if (CMAKE_VERSION VERSION_GREATER "3.7")
+ set(ARROW_CONFIGURE SOURCE_SUBDIR "cpp" CMAKE_ARGS ${ARROW_CMAKE_ARGS})
+ else()
+ set(ARROW_CONFIGURE CONFIGURE_COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}"
+ ${ARROW_CMAKE_ARGS} "${CMAKE_CURRENT_BINARY_DIR}/arrow_ep-prefix/src/arrow_ep/cpp")
+ endif()
+
+ ExternalProject_Add(arrow_ep
+ URL ${ARROW_URL}
+ ${ARROW_CONFIGURE}
+ ${ARROW_BUILD_BYPRODUCTS})
if (MSVC)
- ExternalProject_Add(arrow_ep
- URL ${ARROW_URL}
- ${ARROW_BUILD_BYPRODUCTS}
- # With CMake 3.7.0 there is a SOURCE_SUBDIR argument which we can use
- # to specify that the CMakeLists.txt of Arrow is located in cpp/
- #
- # See https://gitlab.kitware.com/cmake/cmake/commit/a8345d65f359d75efb057d22976cfb92b4d477cf
- CONFIGURE_COMMAND "${CMAKE_COMMAND}" ${ARROW_CMAKE_ARGS} ${CMAKE_CURRENT_BINARY_DIR}/arrow_ep-prefix/src/arrow_ep/cpp
- CMAKE_GENERATOR "NMake Makefiles"
- CMAKE_GENERATOR_PLATFORM "x64"
- BUILD_COMMAND nmake COMMAND nmake install
- STEP_TARGETS copy_dll_step)
-
- ExternalProject_Get_Property(arrow_ep SOURCE_DIR)
ExternalProject_Add_Step(arrow_ep copy_dll_step
+ DEPENDEES install
COMMAND ${CMAKE_COMMAND} -E make_directory ${BUILD_OUTPUT_ROOT_DIRECTORY}
- COMMAND ${CMAKE_COMMAND} -E copy ${ARROW_SHARED_LIB} ${BUILD_OUTPUT_ROOT_DIRECTORY}
- DEPENDEES build
- WORKING_DIRECTORY ${SOURCE_DIR})
- else()
- ExternalProject_Add(arrow_ep
- URL ${ARROW_URL}
- ${ARROW_BUILD_BYPRODUCTS}
- # With CMake 3.7.0 there is a SOURCE_SUBDIR argument which we can use
- # to specify that the CMakeLists.txt of Arrow is located in cpp/
- #
- # See https://gitlab.kitware.com/cmake/cmake/commit/a8345d65f359d75efb057d22976cfb92b4d477cf
- CONFIGURE_COMMAND "${CMAKE_COMMAND}" ${ARROW_CMAKE_ARGS} ${CMAKE_CURRENT_BINARY_DIR}/arrow_ep-prefix/src/arrow_ep/cpp
- CMAKE_ARGS ${ARROW_CMAKE_ARGS})
+ COMMAND ${CMAKE_COMMAND} -E copy ${ARROW_SHARED_LIB} ${BUILD_OUTPUT_ROOT_DIRECTORY})
endif()
set(ARROW_VENDORED 1)
else()