Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devcontainer/Dockerfile.dev
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ RUN cd /opt/ci && bash setup_ci_environment.sh
RUN cd /opt && bash ci/setup_googletest.sh \
&& bash ci/install_abseil.sh \
&& bash ci/install_protobuf.sh \
&& bash ci/setup_grpc.sh -r $GRPC_VERSION -s $CXX_STANDARD -p protobuf -p abseil
&& bash ci/setup_grpc.sh -r $GRPC_VERSION -s $CXX_STANDARD -p protobuf -p abseil-cpp

ADD https://github.com/bazelbuild/bazelisk/releases/download/v1.22.1/bazelisk-linux-amd64 /usr/local/bin

Expand Down
7 changes: 6 additions & 1 deletion ci/install_abseil.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ ABSEIL_CPP_BUILD_OPTIONS=(
)

if [ ! -z "${CXX_STANDARD}" ]; then
ABSEIL_CPP_BUILD_OPTIONS=(${ABSEIL_CPP_BUILD_OPTIONS[@]} "-DCMAKE_CXX_STANDARD=${CXX_STANDARD}")
ABSEIL_CPP_BUILD_OPTIONS+=("-DCMAKE_CXX_STANDARD=${CXX_STANDARD}")
ABSEIL_CPP_BUILD_OPTIONS+=("-DCMAKE_CXX_STANDARD_REQUIRED=ON")
ABSEIL_CPP_BUILD_OPTIONS+=("-DCMAKE_CXX_EXTENSIONS=OFF")
fi

#
Expand Down Expand Up @@ -59,6 +61,9 @@ else
echo "Not patching abseil"
fi

echo "Building abseil ${ABSEIL_CPP_VERSION}"
echo "CMake build options:" "${ABSEIL_CPP_BUILD_OPTIONS[@]}"

mkdir build && pushd build
cmake "${ABSEIL_CPP_BUILD_OPTIONS[@]}" ..
make -j $(nproc)
Expand Down
7 changes: 6 additions & 1 deletion ci/install_protobuf.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@ CPP_PROTOBUF_BUILD_OPTIONS=(
)

if [ ! -z "${CXX_STANDARD}" ]; then
CPP_PROTOBUF_BUILD_OPTIONS=(${CPP_PROTOBUF_BUILD_OPTIONS[@]} "-DCMAKE_CXX_STANDARD=${CXX_STANDARD}")
CPP_PROTOBUF_BUILD_OPTIONS+=("-DCMAKE_CXX_STANDARD=${CXX_STANDARD}")
CPP_PROTOBUF_BUILD_OPTIONS+=("-DCMAKE_CXX_STANDARD_REQUIRED=ON")
CPP_PROTOBUF_BUILD_OPTIONS+=("-DCMAKE_CXX_EXTENSIONS=OFF")
fi

# After protobuf 22/4.22, protobuf depends on absl and we can use
Expand All @@ -59,6 +61,9 @@ cd /tmp
wget https://github.com/google/protobuf/releases/download/v${PROTOBUF_VERSION}/${CPP_PROTOBUF_PACKAGE_NAME}.tar.gz
tar zxf ${CPP_PROTOBUF_PACKAGE_NAME}.tar.gz --no-same-owner

echo "Building protobuf ${CPP_PROTOBUF_VERSION}"
echo "CMake build options:" "${CPP_PROTOBUF_BUILD_OPTIONS[@]}"

mkdir protobuf-${CPP_PROTOBUF_VERSION}/build && pushd protobuf-${CPP_PROTOBUF_VERSION}/build
if [ -e "../CMakeLists.txt" ]; then
cmake .. "${CPP_PROTOBUF_BUILD_OPTIONS[@]}"
Expand Down
19 changes: 19 additions & 0 deletions ci/setup_grpc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ while getopts ":v:hi:mp:r:s:TH" o; do
elif [ "${OPTARG}" == "abseil-cpp" ]; then
GRPC_BUILD_OPTIONS=(${GRPC_BUILD_OPTIONS[@]} "-DgRPC_ABSL_PROVIDER=package")
build_internal_abseil_cpp=0
else
usage
exit 1;
fi
;;
r)
Expand Down Expand Up @@ -101,6 +104,9 @@ if [[ $build_internal_abseil_cpp -ne 0 ]]; then

ABSEIL_CPP_BUILD_OPTIONS=(
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_CXX_STANDARD=${std_version}
-DCMAKE_CXX_STANDARD_REQUIRED=ON
-DCMAKE_CXX_EXTENSIONS=OFF
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE
-DCMAKE_INSTALL_PREFIX=$INSTALL_DIR
)
Expand All @@ -116,14 +122,27 @@ GRPC_BUILD_OPTIONS=(
${GRPC_BUILD_OPTIONS[@]}
-DgRPC_INSTALL=ON
-DCMAKE_CXX_STANDARD=${std_version}
-DCMAKE_CXX_STANDARD_REQUIRED=ON
-DCMAKE_CXX_EXTENSIONS=OFF
-DgRPC_BUILD_TESTS=OFF
-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are the plug-ins default on? Or need set CPP plug-in as ON?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah all are on by default except the OTEL plugin. I'll push a commit to explicitly set the cpp plugin on to be consistent.

-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF
-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF
-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF
-DgRPC_BUILD_GRPC_JAVA_PLUGIN=OFF
-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF
-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF
-DgRPC_BUILD_GRPCPP_OTEL_PLUGIN=OFF
-DCMAKE_INSTALL_PREFIX=$INSTALL_DIR
-DCMAKE_PREFIX_PATH=$INSTALL_DIR
)
if [ ! -z "$build_shared_libs" ]; then
GRPC_BUILD_OPTIONS=(${GRPC_BUILD_OPTIONS[@]} "-DBUILD_SHARED_LIBS=$build_shared_libs")
fi

echo "Building gRPC ${install_grpc_version}"
echo "CMake build options:" "${GRPC_BUILD_OPTIONS[@]}"

cmake "${GRPC_BUILD_OPTIONS[@]}" ..
cmake --build . -j$(nproc)
cmake --install .
Expand Down
Loading