48 lines
1.5 KiB
Bash
48 lines
1.5 KiB
Bash
#!/bin/bash
|
|
# Copyright 2022 The Chromium Authors.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
# This script is meant to be run once to setup the example demo agent.
|
|
# Run it with one command line argument: the path to a directory where the
|
|
# demo agent will be built. This should be a directory outside the SDK
|
|
# directory tree. By default, if no directory is supplied, a directory
|
|
# named `build` in the project root will be used.
|
|
#
|
|
# Once the build is prepared, the demo binary is built using the command
|
|
# `cmake --build <build-dir>`, where <build-dir> is the same argument given
|
|
# to this script.
|
|
|
|
set -euo pipefail
|
|
|
|
export ROOT_DIR=$(realpath $(dirname $0))
|
|
export DEMO_DIR=$(realpath $ROOT_DIR/demo)
|
|
export PROTO_DIR=$(realpath $ROOT_DIR/proto)
|
|
# Defaults to $ROOT_DIR/build if no argument is provided.
|
|
export BUILD_DIR=$(realpath ${1:-$ROOT_DIR/build})
|
|
|
|
echo Root dir: $ROOT_DIR
|
|
echo Build dir: $BUILD_DIR
|
|
echo Demo dir: $DEMO_DIR
|
|
echo Proto dir: $PROTO_DIR
|
|
|
|
# Prepare build directory
|
|
mkdir -p $BUILD_DIR
|
|
# Prepare protobuf out directory
|
|
mkdir -p $BUILD_DIR/gen
|
|
# Enter build directory
|
|
cd $BUILD_DIR
|
|
|
|
# Install vcpkg and use it to install Google Protocol Buffers.
|
|
test -d vcpkg || (
|
|
git clone https://github.com/microsoft/vcpkg
|
|
./vcpkg/bootstrap-vcpkg.sh -disableMetrics
|
|
)
|
|
# Install any packages we want from vcpkg.
|
|
./vcpkg/vcpkg install protobuf
|
|
./vcpkg/vcpkg install gtest
|
|
|
|
# Generate the build files.
|
|
export CMAKE_TOOLCHAIN_FILE=./vcpkg/scripts/buildsystems/vcpkg.cmake
|
|
cmake $ROOT_DIR
|
|
|