|
LiveKit C++ Client SDK v1.1.0
Real-time audio/video/data SDK for C++
|
This SDK uses several tools and checks to enforce code quality. All of these are also enforced in CI on PRs.
clang-tidy** — static analysis. See .clang-tidy for the enabled checks. Enforced in CI on PR.clang-format** — code formatting and style consistency. See .clang-format for the rules. Enforced in CI on PR.Note (Windows):
clang-tidyis not currently driven by our scripts on Windows. The MSBuild CMake generator doesn't emitcompile_commands.json, whichclang-tidyrequires. The Ninja generator does, so manual invocation is possible.clang-formatsimilarly needs to be installed and run manually on Windows, pointing at the root.clang-format.
macOS:
This installs clang-format, clang-tidy, and run-clang-tidy. Homebrew may ask you to add /opt/homebrew/opt/llvm/bin (Apple Silicon) or /usr/local/opt/llvm/bin (Intel) to your PATH.
Linux (Ubuntu/Debian):
Generate compile_commands.json and the protobuf headers via a release build:
Run the wrapper, which uses the same file set, regex filters, and .clang-tidy config as CI:
The wrapper forwards extra arguments to run-clang-tidy:
Output is captured to clang-tidy.log at the repo root, since the terminal buffer often can't hold all of it.
With no arguments, runs against every relevant file in the repository against the rules in .clang-format.
Output is captured to clang-format.log at the repo root.
A simple pre-commit hook that auto-formats staged C/C++ files using the project's .clang-format rules:
This installs .git/hooks/pre-commit. Re-run after git clone on a fresh checkout.
Run valgrind against the integration or stress test binaries to check for memory leaks and other issues:
valgrind is Linux-only. On macOS, use leaks or Instruments instead.
API reference is generated from headers using Doxygen. To rebuild locally:
Output lands under docs/doxygen/html/. The deployed reference is at docs.livekit.io/reference/client-sdk-cpp/.
To view the generated documentation locally, open docs/doxygen/html/index.html in your browser.
For details on the Doxygen configuration and CI pipeline, see the doxygen/ folder.
To delete all build artifacts from both Rust and C++ folders, plus the local-install folder: