NOTICE: This repo will be merging with the googleapis/google-cloud-cpp monorepo soon; possibly as soon as early April. We expect this new monorepo organization to be better for our existing and new customers going forward. Please see googleapis/google-cloud-cpp#3612 for more details.
This repository contains the implementation of the Google BigQuery C++ client library.
This library is currently under development and subject to breaking changes.
Currently, we do not have all the infrastructure set up to test a wide range of compilers, build tool versions, and platforms. As such, the requirements below are narrow and represent what we know works through ad hoc testing.
The Google BigQuery C++ Client is tested with the following compilers:
Compiler | Minimum Version |
---|---|
Clang | 6.0.1 |
The Google BigQuery C++ Client can be built with CMake or Bazel. The minimal versions of these tools we test with are:
Tool | Minimum Version |
---|---|
CMake | 3.5 |
Bazel | 0.29.1 |
The libraries also depend on the following libraries and their dependencies. The Google BigQuery C++ library is tested with the following versions of these dependencies:
Library | Minimum version |
---|---|
gRPC | v1.16.x |
To build the project using Bazel, first install Bazel by following the instructions for your platform.
To build all targets using Bazel, run the following command after cloning this repo:
bazel build ...
The executables can be found in the bazel-bin/
directory.
To run all tests, run the following command:
bazel test ...
sudo apt update && \
sudo apt install -y build-essential cmake git gcc g++ cmake \
libc-ares-dev libc-ares2 libcurl4-openssl-dev libssl-dev make \
pkg-config tar wget zlib1g-dev
To build all available libraries and run the tests, run the following commands after cloning this repo:
To automatically download the dependencies and compile the libraries and examples you can use the CMake super build:
# Add -DBUILD_TESTING=OFF to disable tests
cmake -Hsuper -Bcmake-out
# Adjust the number of threads used by modifying parameter for `-j 4`
# following command will also invoke ctest at the end
cmake --build cmake-out -- -j 4
You will find compiled binaries in cmake-out/
respective to their source
paths.