/couchbase-cxx-client

Couchbase C++ Client Library (Official)

Primary LanguageC++Apache License 2.0Apache-2.0

Couchbase C++ Client

license linters sanitizers tests

Using with CPM.cmake

CPM.cmake makes it really easy to include library into your project. Use the following snippet to update your CMakeLists.txt:

CPMAddPackage(
  NAME
  couchbase_cxx_client
  GIT_TAG
  1.0.3
  VERSION
  1.0.3
  GITHUB_REPOSITORY
  "couchbase/couchbase-cxx-client"
  OPTIONS
  "COUCHBASE_CXX_CLIENT_STATIC_BORINGSSL ON")

In case the library installed in the system using install target or package management system, FindPackage could be used:

cmake_minimum_required(VERSION 3.19)

project(minimal)

find_package(couchbase_cxx_client REQUIRED)

add_executable(minimal minimal.cxx)
target_link_libraries(minimal PRIVATE couchbase_cxx_client::couchbase_cxx_client)

Building with CMake

This repo is being built with CMake so everything should build easily once the basic dev dependencies are satisfied (C++17 compiler).

Building (command-line)

git clone https://github.com/couchbase/couchbase-cxx-client.git
cd couchbase-cxx-client
mkdir build
cmake -S . -B build -DCOUCHBASE_CXX_CLIENT_STATIC_BORINGSSL=ON
cmake --build build

Running Tests

The tests are located in the /test directory. More tests will be added and this directory will be organized more in the near future to differentiate between the common tests types that might be used for different types of testing (e.g., unit tests, integration tests, system tests).

Testing (command-line)

cd build
export TEST_CONNECTION_STRING=couchbase://127.0.0.1
export TEST_USERNAME=Administrator
export TEST_PASSWORD=password
export TEST_BUCKET=default
ctest