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/03/25 01:32:10 UTC
[arrow] branch master updated: ARROW-4989: [C++] Find re2 on Ubuntu
if asked to
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 3cd5df2 ARROW-4989: [C++] Find re2 on Ubuntu if asked to
3cd5df2 is described below
commit 3cd5df2eb33a22f0b29803fd284c6a87243bd19f
Author: Antoine Pitrou <an...@python.org>
AuthorDate: Sun Mar 24 20:31:50 2019 -0500
ARROW-4989: [C++] Find re2 on Ubuntu if asked to
This allows `cmake -DRE2_SOURCE=SYSTEM` to work from a Conda environment.
Author: Antoine Pitrou <an...@python.org>
Closes #4007 from pitrou/ARROW-4989-find-ubuntu-re2 and squashes the following commits:
60ecc3a6 <Antoine Pitrou> ARROW-4989: Find re2 on Ubuntu if asked to
---
cpp/cmake_modules/ThirdpartyToolchain.cmake | 106 ++++++++++++----------------
1 file changed, 45 insertions(+), 61 deletions(-)
diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index bdb8a98..b7dd393 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -35,25 +35,28 @@ endif()
# ----------------------------------------------------------------------
# Resolve the dependencies
+# TODO: add uriparser here when it gets a conda package
set(ARROW_THIRDPARTY_DEPENDENCIES
+ benchmark
+ BOOST
+ Brotli
+ BZip2
+ c-ares
double-conversion
- BROTLI
- Snappy
+ Flatbuffers
gflags
- Thrift
+ GLOG
+ gRPC
+ GTest
+ LLVM
+ Lz4
+ RE2
Protobuf
- GTEST
- benchmark
RapidJSON
- Flatbuffers
+ Snappy
+ Thrift
ZLIB
- BZip2
- LZ4
- ZSTD
- RE2
- c-ares
- LLVM
- BOOST)
+ ZSTD)
message(STATUS "Using ${ARROW_DEPENDENCY_SOURCE} approach to find dependencies")
@@ -74,75 +77,64 @@ if(ARROW_PACKAGE_PREFIX)
message(STATUS "Setting (unset) dependency *_ROOT variables: ${ARROW_PACKAGE_PREFIX}")
set(ENV{PKG_CONFIG_PATH} "${ARROW_PACKAGE_PREFIX}/lib/pkgconfig/")
- if(NOT BOOST_ROOT)
- set(BOOST_ROOT ${ARROW_PACKAGE_PREFIX})
- endif()
if(NOT ENV{BOOST_ROOT})
set(ENV{BOOST_ROOT} ${ARROW_PACKAGE_PREFIX})
endif()
if(NOT ENV{Boost_ROOT})
set(ENV{Boost_ROOT} ${ARROW_PACKAGE_PREFIX})
endif()
+endif()
- foreach(DEPENDENCY ${ARROW_THIRDPARTY_DEPENDENCIES})
- if(NOT ${DEPENDENCY}_ROOT)
+# For each dependency, set dependency source to global default, if unset
+foreach(DEPENDENCY ${ARROW_THIRDPARTY_DEPENDENCIES})
+ if("${${DEPENDENCY}_SOURCE}" STREQUAL "")
+ set(${DEPENDENCY}_SOURCE ${ARROW_ACTUAL_DEPENDENCY_SOURCE})
+ # If no ROOT was supplied and we have a global prefix, use it
+ if(NOT ${DEPENDENCY}_ROOT AND ARROW_PACKAGE_PREFIX)
set(${DEPENDENCY}_ROOT ${ARROW_PACKAGE_PREFIX})
endif()
- endforeach()
-endif()
-
-function(get_dependency_source DEPENDENCY_NAME)
- if("${${DEPENDENCY_NAME}_SOURCE}" STREQUAL "")
- set(${DEPENDENCY_NAME}_SOURCE ${ARROW_ACTUAL_DEPENDENCY_SOURCE} PARENT_SCOPE)
endif()
-
- # If AUTO was specified and a ROOT was supplied, use this root.
- if(${DEPENDENCY_NAME}_ROOT AND ${DEPENDENCY_NAME}_SOURCE STREQUAL "AUTO")
- set(${DEPENDENCY_NAME}_SOURCE "SYSTEM" PARENT_SCOPE)
- endif()
-endfunction()
+endforeach()
macro(build_dependency DEPENDENCY_NAME)
- if("${DEPENDENCY_NAME}" STREQUAL "Brotli")
+ if("${DEPENDENCY_NAME}" STREQUAL "benchmark")
+ build_benchmark()
+ elseif("${DEPENDENCY_NAME}" STREQUAL "Brotli")
build_brotli()
- elseif("${DEPENDENCY_NAME}" STREQUAL "GLOG")
- build_glog()
+ elseif("${DEPENDENCY_NAME}" STREQUAL "BZip2")
+ build_bzip2()
+ elseif("${DEPENDENCY_NAME}" STREQUAL "c-ares")
+ build_cares()
+ elseif("${DEPENDENCY_NAME}" STREQUAL "Flatbuffers")
+ build_flatbuffers()
elseif("${DEPENDENCY_NAME}" STREQUAL "gflags")
build_gflags()
- elseif("${DEPENDENCY_NAME}" STREQUAL "Thrift")
- build_thrift()
- elseif("${DEPENDENCY_NAME}" STREQUAL "Protobuf")
- build_protobuf()
+ elseif("${DEPENDENCY_NAME}" STREQUAL "GLOG")
+ build_glog()
+ elseif("${DEPENDENCY_NAME}" STREQUAL "gRPC")
+ build_grpc()
elseif("${DEPENDENCY_NAME}" STREQUAL "GTest")
build_gtest()
- elseif("${DEPENDENCY_NAME}" STREQUAL "benchmark")
- build_benchmark()
- elseif("${DEPENDENCY_NAME}" STREQUAL "Flatbuffers")
- build_flatbuffers()
- elseif("${DEPENDENCY_NAME}" STREQUAL "ZLIB")
- build_zlib()
elseif("${DEPENDENCY_NAME}" STREQUAL "Lz4")
build_lz4()
- elseif("${DEPENDENCY_NAME}" STREQUAL "ZSTD")
- build_zstd()
+ elseif("${DEPENDENCY_NAME}" STREQUAL "Protobuf")
+ build_protobuf()
elseif("${DEPENDENCY_NAME}" STREQUAL "RE2")
build_re2()
- elseif("${DEPENDENCY_NAME}" STREQUAL "c-ares")
- build_cares()
- elseif("${DEPENDENCY_NAME}" STREQUAL "gRPC")
- build_grpc()
- elseif("${DEPENDENCY_NAME}" STREQUAL "BZip2")
- build_bzip2()
+ elseif("${DEPENDENCY_NAME}" STREQUAL "Thrift")
+ build_thrift()
elseif("${DEPENDENCY_NAME}" STREQUAL "uriparser")
build_uriparser()
+ elseif("${DEPENDENCY_NAME}" STREQUAL "ZLIB")
+ build_zlib()
+ elseif("${DEPENDENCY_NAME}" STREQUAL "ZSTD")
+ build_zstd()
else()
message(FATAL_ERROR "Unknown thirdparty dependency to build: ${DEPENDENCY_NAME}")
endif()
endmacro()
macro(resolve_dependency DEPENDENCY_NAME)
- get_dependency_source(${DEPENDENCY_NAME})
-
if(${DEPENDENCY_NAME}_SOURCE STREQUAL "AUTO")
find_package(${DEPENDENCY_NAME} QUIET)
if(NOT ${DEPENDENCY_NAME}_FOUND)
@@ -493,8 +485,6 @@ const int flags_ = double_conversion::StringToDoubleConverter::ALLOW_CASE_INSENS
}" DOUBLE_CONVERSION_HAS_CASE_INSENSIBILITY)
endmacro()
-get_dependency_source(double-conversion)
-
if(double-conversion_SOURCE STREQUAL "AUTO")
# Debian does not ship cmake configs for double-conversion
# TODO: Make upstream bug
@@ -682,7 +672,6 @@ macro(build_snappy)
endmacro()
if(ARROW_WITH_SNAPPY)
- get_dependency_source(Snappy)
if(Snappy_SOURCE STREQUAL "AUTO")
# Normally *Config.cmake files reside in /usr/lib/cmake but Snappy
# errornously places them in ${CMAKE_ROOT}/Modules/
@@ -921,7 +910,6 @@ macro(build_gflags)
endmacro()
if(ARROW_NEED_GFLAGS)
- get_dependency_source(gflags)
if(gflags_SOURCE STREQUAL "AUTO")
find_package(gflags QUIET)
if(NOT gflags_FOUND)
@@ -1479,7 +1467,6 @@ endmacro()
# TODO: Check for 1.1.0+
if(ARROW_WITH_RAPIDJSON)
- get_dependency_source(RapidJSON)
if(RapidJSON_SOURCE STREQUAL "AUTO")
# Fedora packages place the package information at the wrong location.
# https://bugzilla.redhat.com/show_bug.cgi?id=1680400
@@ -1557,7 +1544,6 @@ macro(build_flatbuffers)
endmacro()
if(ARROW_WITH_FLATBUFFERS)
- get_dependency_source(Flatbuffers)
if(Flatbuffers_SOURCE STREQUAL "AUTO")
find_package(Flatbuffers QUIET)
# Older versions of Flatbuffers (that are not built using CMake)
@@ -1918,7 +1904,6 @@ macro(build_cares)
endmacro()
if(ARROW_WITH_GRPC)
- get_dependency_source(c-ares)
if(c-ares_SOURCE STREQUAL "AUTO")
find_package(c-ares QUIET)
if(NOT c-ares_FOUND)
@@ -2095,7 +2080,6 @@ if(ARROW_WITH_GRPC)
"${OPENSSL_INCLUDE_DIR}")
endif()
- get_dependency_source(gRPC)
if(gRPC_SOURCE STREQUAL "AUTO")
find_package(gRPC QUIET)
if(NOT gRPC_FOUND)