File: setup_googletest.sh

package info (click to toggle)
opentelemetry-cpp 1.19.0-3
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 8,744 kB
  • sloc: cpp: 79,029; sh: 1,640; makefile: 43; python: 31
file content (56 lines) | stat: -rwxr-xr-x 1,535 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/bin/bash

# Copyright The OpenTelemetry Authors
# SPDX-License-Identifier: Apache-2.0

set -e

export DEBIAN_FRONTEND=noninteractive
apt-get update

if [ -z "${GOOGLETEST_VERSION}" ]; then
  # Version by default. Requires C++14.
  export GOOGLETEST_VERSION=1.14.0
fi

OLD_GOOGLETEST_VERSION_REGEXP="^1\.([0-9]|10|11|12)(\..*)?$"

if [[ ${GOOGLETEST_VERSION} =~ ${OLD_GOOGLETEST_VERSION_REGEXP} ]]; then
  # Old (up to 1.12.x included) download URL format.
  GOOGLETEST_VERSION_PATH="release-${GOOGLETEST_VERSION}"
  GOOGLETEST_FOLDER_PATH="googletest-release-${GOOGLETEST_VERSION}"
else
  # New (since 1.13.0) download URL format.
  GOOGLETEST_VERSION_PATH="v${GOOGLETEST_VERSION}"
  GOOGLETEST_FOLDER_PATH="googletest-${GOOGLETEST_VERSION}"
fi

googletest_install()
{
  # Follows these instructions
  # https://gist.github.com/dlime/313f74fd23e4267c4a915086b84c7d3d
  tmp_dir=$(mktemp -d)
  pushd $tmp_dir
  wget https://github.com/google/googletest/archive/${GOOGLETEST_VERSION_PATH}.tar.gz
  tar -xf ${GOOGLETEST_VERSION_PATH}.tar.gz
  cd ${GOOGLETEST_FOLDER_PATH}/
  mkdir build && cd build
  cmake .. -DBUILD_SHARED_LIBS=ON -DINSTALL_GTEST=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr
  make -j $(nproc)
  make install
  ldconfig
  popd
}

set +e
echo	\
      libbenchmark-dev \
      zlib1g-dev \
      sudo \
      libcurl4-openssl-dev \
      nlohmann-json-dev \
      nlohmann-json3 \
      nlohmann-json3-dev | xargs -n 1 apt-get install --ignore-missing --no-install-recommends --no-install-suggests -y
set -e

googletest_install