tree: 0f237aaab7008064f1877edd113423e32711792d [path history] [tgz]
  1. bazel/
  2. examples/
  3. include/
  4. scripts/
  5. src/
  6. test/
  7. .bazelrc
  8. .clang-format
  9. .gitignore
  10. BUILD.bazel
  11. build.rs
  12. Cargo.toml
  13. ci.sh
  14. CMakeLists.txt
  15. DEPENDENCIES.rust.tsv
  16. README.md
bindings/cpp/README.md

Apache Fluss™ C++ Bindings (Incubating)

C++ bindings for Fluss, built on top of the fluss-rust client. The API is exposed via a C++ header (include/fluss.hpp) and implemented with Rust FFI.

Requirements

  • Rust (see rust-toolchain.toml at repo root)
  • C++17-capable compiler
  • CMake 3.18+ and/or Bazel
  • Apache Arrow (for Arrow-based APIs)

Build

From the repository root or from bindings/cpp:

With CMake:

cd bindings/cpp
mkdir build && cd build
cmake ..
cmake --build .

By default, CMake now uses Release when CMAKE_BUILD_TYPE is not specified.

With Bazel:

cd bindings/cpp
bazel build //...

ci.sh defaults to optimized builds via -c opt (override with BAZEL_BUILD_FLAGS if needed). See ci.sh for the CI build sequence.

TODO