grpc: update recipe (#25261)

1) forward `+shared` to re2
2) add `cxxstd` variant
3) use "more idiomatic" way of setting CMake options
This commit is contained in:
iarspider 2021-10-04 14:53:17 +02:00 committed by GitHub
parent 35dd474473
commit 4f1c195bf9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -40,20 +40,25 @@ class Grpc(CMakePackage):
variant('codegen', default=True, variant('codegen', default=True,
description='Builds code generation plugins for protobuf ' description='Builds code generation plugins for protobuf '
'compiler (protoc)') 'compiler (protoc)')
variant('cxxstd',
default='11',
values=('11', '14', '17'),
multi=False,
description='Use the specified C++ standard when building.')
depends_on('protobuf') depends_on('protobuf')
depends_on('openssl') depends_on('openssl')
depends_on('zlib') depends_on('zlib')
depends_on('c-ares') depends_on('c-ares')
depends_on('abseil-cpp', when='@1.27:') depends_on('abseil-cpp', when='@1.27:')
depends_on('re2+shared', when='@1.33.1:+shared')
depends_on('re2', when='@1.33.1:') depends_on('re2', when='@1.33.1:')
def cmake_args(self): def cmake_args(self):
args = [ args = [
'-DBUILD_SHARED_LIBS:Bool={0}'.format( define_from_variant('BUILD_SHARED_LIBS', 'shared'),
'ON' if '+shared' in self.spec else 'OFF'), define_from_variant('gRPC_BUILD_CODEGEN', 'codegen'),
'-DgRPC_BUILD_CODEGEN:Bool={0}'.format( define_from_variant('CMAKE_CXX_STANDARD', 'cxxstd'),
'ON' if '+codegen' in self.spec else 'OFF'),
'-DgRPC_BUILD_CSHARP_EXT:Bool=OFF', '-DgRPC_BUILD_CSHARP_EXT:Bool=OFF',
'-DgRPC_INSTALL:Bool=ON', '-DgRPC_INSTALL:Bool=ON',
# Tell grpc to skip vendoring and look for deps via find_package: # Tell grpc to skip vendoring and look for deps via find_package: