You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by ks...@apache.org on 2019/07/05 07:05:54 UTC
[arrow] branch master updated: ARROW-5828: [C++] Add required
Protocol Buffers versions check
This is an automated email from the ASF dual-hosted git repository.
kszucs 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 ad2539d ARROW-5828: [C++] Add required Protocol Buffers versions check
ad2539d is described below
commit ad2539d24fd68300dc509be96d75335defc37472
Author: Sutou Kouhei <ko...@clear-code.com>
AuthorDate: Fri Jul 5 09:05:42 2019 +0200
ARROW-5828: [C++] Add required Protocol Buffers versions check
This works Protobuf_SOURCE=AUTO well on environments that have old
Protocol Buffers.
Author: Sutou Kouhei <ko...@clear-code.com>
Closes #4785 from kou/cpp-protobuf-version-check and squashes the following commits:
b4e9a8859 <Sutou Kouhei> Add required Protocol Buffers versions check
---
cpp/cmake_modules/ThirdpartyToolchain.cmake | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index a8595e9..2c4a497 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -180,6 +180,19 @@ macro(resolve_dependency DEPENDENCY_NAME)
endif()
endmacro()
+macro(resolve_dependency_with_version DEPENDENCY_NAME REQUIRED_VERSION)
+ if(${DEPENDENCY_NAME}_SOURCE STREQUAL "AUTO")
+ find_package(${DEPENDENCY_NAME} ${REQUIRED_VERSION} MODULE)
+ if(NOT ${${DEPENDENCY_NAME}_FOUND})
+ build_dependency(${DEPENDENCY_NAME})
+ endif()
+ elseif(${DEPENDENCY_NAME}_SOURCE STREQUAL "BUNDLED")
+ build_dependency(${DEPENDENCY_NAME})
+ elseif(${DEPENDENCY_NAME}_SOURCE STREQUAL "SYSTEM")
+ find_package(${DEPENDENCY_NAME} ${REQUIRED_VERSION} REQUIRED)
+ endif()
+endmacro()
+
# ----------------------------------------------------------------------
# Thirdparty versions, environment variables, source URLs
@@ -1282,7 +1295,12 @@ macro(build_protobuf)
endmacro()
if(ARROW_WITH_PROTOBUF)
- resolve_dependency(Protobuf)
+ if(ARROW_WITH_GRPC)
+ set(ARROW_PROTOBUF_REQUIRED_VERSION "3.6.0")
+ else()
+ set(ARROW_PROTOBUF_REQUIRED_VERSION "2.6.1")
+ endif()
+ resolve_dependency_with_version(Protobuf ${ARROW_PROTOBUF_REQUIRED_VERSION})
if(ARROW_PROTOBUF_USE_SHARED AND MSVC)
add_definitions(-DPROTOBUF_USE_DLLS)