1#!/bin/bash 2# Copyright 2017 gRPC authors. 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15 16set -ex 17 18cd "$(dirname "$0")/../../.." 19 20# Install openssl (to use instead of boringssl) 21apt-get update && apt-get install -y libssl-dev 22 23# Use externally provided env to determine build parallelism, otherwise use default. 24GRPC_CPP_DISTRIBTEST_BUILD_COMPILER_JOBS=${GRPC_CPP_DISTRIBTEST_BUILD_COMPILER_JOBS:-4} 25 26# Install gRPC and its dependencies 27mkdir -p "cmake/build" 28pushd "cmake/build" 29cmake \ 30 -DCMAKE_BUILD_TYPE=Release \ 31 -DCMAKE_CXX_STANDARD=17 \ 32 -DgRPC_INSTALL=ON \ 33 -DgRPC_BUILD_TESTS=OFF \ 34 -DgRPC_SSL_PROVIDER=package \ 35 ../.. 36make "-j${GRPC_CPP_DISTRIBTEST_BUILD_COMPILER_JOBS}" install 37popd 38 39# Build helloworld example using cmake 40mkdir -p "examples/cpp/helloworld/cmake/build" 41pushd "examples/cpp/helloworld/cmake/build" 42cmake -DCMAKE_CXX_STANDARD=17 ../.. 43make "-j${GRPC_CPP_DISTRIBTEST_BUILD_COMPILER_JOBS}" 44popd 45