/client-cpp

A client library for C++

Primary LanguageC++Apache License 2.0Apache-2.0

Travis Build Status codecov license

client-cpp

A client library for C++

Pre-requisites

Compiler

The library requires C++14 standard, thus GCC 5, or Clang 3.4 are required.

Libraries

Third party libraries and tools installation

Linux
$ [sudo] apt-get install autoconf automake libtool build-essential  
$ [sudo] apt-get install libboost-all-dev libpoco-dev libgflags-dev libgtest-dev curl unzip doxygen g++-5
Mac OS X
$ [sudo] xcode-select --install
$ [sudo] brew autoconf automake libtool build-essential
$ [sudo] brew install libboost-all-dev libpoco-dev libgflags-dev libgtest-dev curl unzip doxygen g++-5

gRPC and Protobuf

Google's gRPC and Protobuf are the core components of the library, and the latest release versions should be present in the system in order to build.

Linux

Linux does not have stable packages for gRPC and Protobuf with the latest versions, please prefer building from source.

Mac OS X
$ brew install --with-plugin grpc
$ brew install protobuf
Building from Source

If you have troubles installing these libraries from the packaging system, you can build it from source. Detailed instructions are on the websites for the libraries, or, you can set an option for the build, that will download and build gRPC and Protobuf (described in the Build section)

Build

Make a directory for build files, for example "_build", and run CMake

$ mkdir -p _build && cd _build
$ cmake ..
$ cmake --build .

If you would like CMake to download and build gRPC and Protobuf from sources for you, replace cmake .. with cmake -DBUILD_DEPENDENCIES=ON ... This option is disabled by default to prevent 3rd-party build check everytime you build Spine.

Windows support

TBA