From a41c53c14794bb32cb03269069cdd3b66fedda5f Mon Sep 17 00:00:00 2001 From: Eitan Har-Shoshanim <52128156+eitanhs@users.noreply.github.com> Date: Wed, 3 Jun 2020 02:14:26 +0300 Subject: [PATCH] [bond] updated version to 9.0 + added bond-over-grpc integration as feature (#10319) Co-authored-by: wangli28 Co-authored-by: eitan Co-authored-by: eitanhs --- ports/bond/CONTROL | 14 +++++++++----- ports/bond/portfile.cmake | 13 +++++++++---- ports/bond/skip-grpc-compilation.patch | 11 +++++++++++ 3 files changed, 29 insertions(+), 9 deletions(-) create mode 100644 ports/bond/skip-grpc-compilation.patch diff --git a/ports/bond/CONTROL b/ports/bond/CONTROL index 69351a243..eaf174e23 100644 --- a/ports/bond/CONTROL +++ b/ports/bond/CONTROL @@ -1,5 +1,9 @@ -Source: bond -Version: 9.0.0 -Description: Bond is a cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services. -Homepage: https://github.com/Microsoft/bond -Build-Depends: rapidjson, boost-config, boost-utility, boost-assign +Source: bond +Version: 9.0.0 +Description: Bond is a cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services. +Homepage: https://github.com/Microsoft/bond +Build-Depends: rapidjson, boost-config, boost-utility, boost-assign + +Feature: bond-over-grpc +Description: Bond-over-gRPC provides code generation from Bond IDL service definitions to send Bond objects via gRPC. +Build-Depends: grpc diff --git a/ports/bond/portfile.cmake b/ports/bond/portfile.cmake index c81e36684..903ca0f46 100644 --- a/ports/bond/portfile.cmake +++ b/ports/bond/portfile.cmake @@ -5,10 +5,10 @@ set(BOND_VER 9.0.0) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO microsoft/bond - REF fe6f582ce4beb65644d9338536066e07d80a0289 #9.0.0 - SHA512 bf9c7436462fabb451c6a50b662455146a37c1421a6fe22920a5c4c1fa7c0fe727c1d783917fa119cd7092dc120e375a99a8eb84e3fc87c17b54a23befd9abc4 + REF ${BOND_VER} + SHA512 b6bed9be8b5dd2a7d50c6bd275b94c62050b83717907522a07279cccc50e209306792c6f3c7f206afcb3226aed21b43b115b63dccc806eff5d9cd4e12b355461 HEAD_REF master - PATCHES fix-install-path.patch + PATCHES fix-install-path.patch skip-grpc-compilation.patch ) if (VCPKG_TARGET_IS_WINDOWS) @@ -36,6 +36,10 @@ else() endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + bond-over-grpc BOND_ENABLE_GRPC +) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -44,8 +48,9 @@ vcpkg_configure_cmake( -DBOND_GBC_PATH=${FETCHED_GBC_PATH} -DBOND_SKIP_GBC_TESTS=TRUE -DBOND_ENABLE_COMM=FALSE - -DBOND_ENABLE_GRPC=FALSE -DBOND_FIND_RAPIDJSON=TRUE + -DBOND_STACK_OPTIONS=--allow-different-user + ${FEATURE_OPTIONS} ) vcpkg_install_cmake() diff --git a/ports/bond/skip-grpc-compilation.patch b/ports/bond/skip-grpc-compilation.patch new file mode 100644 index 000000000..10906b131 --- /dev/null +++ b/ports/bond/skip-grpc-compilation.patch @@ -0,0 +1,11 @@ +diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt +index f8c7bf3..e69de29 100644 +--- a/thirdparty/CMakeLists.txt ++++ b/thirdparty/CMakeLists.txt +@@ -1,6 +0,0 @@ +-include (Compiler) +- +-if (BOND_ENABLE_GRPC) +- cxx_add_compile_options (Clang -Wno-unused-value) +- add_subdirectory(grpc) +-endif()