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/04/16 17:34:35 UTC

parquet-cpp git commit: PARQUET-955: Only look for Arrow pkgconfig if ARROW_HOME is not set in environment

Repository: parquet-cpp
Updated Branches:
  refs/heads/master b89cbad30 -> 38e95ccde


PARQUET-955: Only look for Arrow pkgconfig if ARROW_HOME is not set in environment

cc @kou

Ran into this when testing out https://github.com/apache/arrow/pull/548

Author: Wes McKinney <we...@twosigma.com>

Closes #298 from wesm/PARQUET-955 and squashes the following commits:

ab96f03 [Wes McKinney] Rearrange logic to make more clear
a29cc57 [Wes McKinney] Remove redundant env variable check
1960fb3 [Wes McKinney] Print Arrow include dir in FindArrow.cmake
970f0c5 [Wes McKinney] Move pkgconfig logic into FindArrow.cmake
92e7c70 [Wes McKinney] Only look for Arrow pkgconfig if ARROW_HOME is not set in environment


Project: http://git-wip-us.apache.org/repos/asf/parquet-cpp/repo
Commit: http://git-wip-us.apache.org/repos/asf/parquet-cpp/commit/38e95ccd
Tree: http://git-wip-us.apache.org/repos/asf/parquet-cpp/tree/38e95ccd
Diff: http://git-wip-us.apache.org/repos/asf/parquet-cpp/diff/38e95ccd

Branch: refs/heads/master
Commit: 38e95ccdefc8b3e46d7df1360abd39672e4468f9
Parents: b89cbad
Author: Wes McKinney <we...@twosigma.com>
Authored: Sun Apr 16 13:34:28 2017 -0400
Committer: Wes McKinney <we...@twosigma.com>
Committed: Sun Apr 16 13:34:28 2017 -0400

----------------------------------------------------------------------
 cmake_modules/FindArrow.cmake           | 84 ++++++++++++++++++----------
 cmake_modules/ThirdpartyToolchain.cmake | 24 +-------
 2 files changed, 55 insertions(+), 53 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/38e95ccd/cmake_modules/FindArrow.cmake
----------------------------------------------------------------------
diff --git a/cmake_modules/FindArrow.cmake b/cmake_modules/FindArrow.cmake
index c3f835b..d5e11d1 100644
--- a/cmake_modules/FindArrow.cmake
+++ b/cmake_modules/FindArrow.cmake
@@ -18,52 +18,78 @@
 # - Find ARROW (arrow/api.h, libarrow.a, libarrow.so)
 # This module defines
 #  ARROW_INCLUDE_DIR, directory containing headers
-#  ARROW_LIBS, directory containing arrow libraries
 #  ARROW_STATIC_LIB, path to libarrow.a
 #  ARROW_SHARED_LIB, path to libarrow's shared library
 #  ARROW_FOUND, whether arrow has been found
 
-if( NOT "$ENV{ARROW_HOME}" STREQUAL "")
+if ("$ENV{ARROW_HOME}" STREQUAL "")
+  # PARQUET-955. If the user has set $ARROW_HOME in the environment, we respect
+  # this, otherwise try to locate the pkgconfig in the system environment
+  pkg_check_modules(ARROW arrow)
+  if (ARROW_FOUND)
+    # We found the pkgconfig
+    set(ARROW_INCLUDE_DIR ${ARROW_INCLUDE_DIRS})
+
+    if (COMMAND pkg_get_variable)
+      pkg_get_variable(ARROW_ABI_VERSION arrow abi_version)
+    else()
+      set(ARROW_ABI_VERSION "")
+    endif()
+    if (ARROW_ABI_VERSION STREQUAL "")
+      set(ARROW_SHARED_LIB_SUFFIX "")
+    else()
+      set(ARROW_SHARED_LIB_SUFFIX ".${ARROW_ABI_VERSION}")
+    endif()
+
+    set(ARROW_LIB_NAME ${CMAKE_SHARED_LIBRARY_PREFIX}arrow)
+
+    set(ARROW_SHARED_LIB ${ARROW_LIBDIR}/${ARROW_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}${ARROW_SHARED_LIB_SUFFIX})
+    set(ARROW_STATIC_LIB ${ARROW_LIBDIR}/${ARROW_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX})
+  endif()
+else()
   set(ARROW_HOME "$ENV{ARROW_HOME}")
-endif()
 
-set(ARROW_SEARCH_HEADER_PATHS
-  ${ARROW_HOME}/include
-)
+  set(ARROW_SEARCH_HEADER_PATHS
+    ${ARROW_HOME}/include
+    )
 
-set(ARROW_SEARCH_LIB_PATH
-  ${ARROW_HOME}/lib
-)
+  set(ARROW_SEARCH_LIB_PATH
+    ${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
-)
+  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)
 
-if (ARROW_INCLUDE_DIR AND (PARQUET_MINIMAL_DEPENDENCY OR ARROW_LIB_PATH))
-  set(ARROW_FOUND TRUE)
-  set(ARROW_HEADER_NAME arrow/api.h)
-  set(ARROW_HEADER ${ARROW_INCLUDE_DIR}/${ARROW_HEADER_NAME})
-  set(ARROW_LIB_NAME libarrow)
+  if (ARROW_INCLUDE_DIR AND (PARQUET_MINIMAL_DEPENDENCY OR ARROW_LIB_PATH))
+    set(ARROW_FOUND TRUE)
+    set(ARROW_HEADER_NAME arrow/api.h)
+    set(ARROW_HEADER ${ARROW_INCLUDE_DIR}/${ARROW_HEADER_NAME})
+    set(ARROW_LIB_NAME libarrow)
 
-  get_filename_component(ARROW_LIBS ${ARROW_LIB_PATH} DIRECTORY)
-  set(ARROW_STATIC_LIB ${ARROW_LIBS}/${ARROW_LIB_NAME}.a)
-  set(ARROW_SHARED_LIB ${ARROW_LIBS}/${ARROW_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
+    get_filename_component(ARROW_LIBS ${ARROW_LIB_PATH} DIRECTORY)
+    set(ARROW_STATIC_LIB ${ARROW_LIBS}/${ARROW_LIB_NAME}.a)
+    set(ARROW_SHARED_LIB ${ARROW_LIBS}/${ARROW_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
+  endif ()
+endif()
 
+if (ARROW_FOUND)
   if (NOT Arrow_FIND_QUIETLY)
+    message(STATUS "Arrow include path: ${ARROW_INCLUDE_DIR}")
     if (PARQUET_MINIMAL_DEPENDENCY)
       message(STATUS "Found the Arrow header: ${ARROW_HEADER}")
     else ()
       message(STATUS "Found the Arrow library: ${ARROW_LIB_PATH}")
     endif ()
   endif ()
-else ()
+else()
   if (NOT Arrow_FIND_QUIETLY)
     set(ARROW_ERR_MSG "Could not find the Arrow library. Looked for headers")
     set(ARROW_ERR_MSG "${ARROW_ERR_MSG} in ${ARROW_SEARCH_HEADER_PATHS}, and for libs")
@@ -74,13 +100,11 @@ else ()
       message(STATUS "${ARROW_ERR_MSG}")
     endif (Arrow_FIND_REQUIRED)
   endif ()
-  set(ARROW_FOUND FALSE)
-endif ()
+endif()
 
 mark_as_advanced(
   ARROW_FOUND
   ARROW_INCLUDE_DIR
-  ARROW_LIBS
   ARROW_STATIC_LIB
   ARROW_SHARED_LIB
 )

http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/38e95ccd/cmake_modules/ThirdpartyToolchain.cmake
----------------------------------------------------------------------
diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake
index 349be7d..83aa1cc 100644
--- a/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cmake_modules/ThirdpartyToolchain.cmake
@@ -357,29 +357,7 @@ if(PARQUET_BUILD_BENCHMARKS AND NOT IGNORE_OPTIONAL_PACKAGES)
 endif()
 
 ## Apache Arrow
-pkg_check_modules(ARROW arrow)
-if (ARROW_FOUND)
-  set(ARROW_INCLUDE_DIR ${ARROW_INCLUDE_DIRS})
-
-  if (COMMAND pkg_get_variable)
-    pkg_get_variable(ARROW_ABI_VERSION arrow abi_version)
-  else()
-    set(ARROW_ABI_VERSION "")
-  endif()
-  if (ARROW_ABI_VERSION STREQUAL "")
-    set(ARROW_SHARED_LIB_SUFFIX "")
-  else()
-    set(ARROW_SHARED_LIB_SUFFIX ".${ARROW_ABI_VERSION}")
-  endif()
-
-  set(ARROW_LIB_NAME ${CMAKE_SHARED_LIBRARY_PREFIX}arrow)
-
-  set(ARROW_SHARED_LIB ${ARROW_LIBDIR}/${ARROW_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}${ARROW_SHARED_LIB_SUFFIX})
-  set(ARROW_STATIC_LIB ${ARROW_LIBDIR}/${ARROW_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX})
-
-else()
-  find_package(Arrow)
-endif()
+find_package(Arrow)
 if (NOT ARROW_FOUND)
   set(ARROW_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/arrow_ep/src/arrow_ep-install")
   set(ARROW_HOME "${ARROW_PREFIX}")