foundationdb

(★ 16,615)

FoundationDB - the open source, distributed, transactional key-value store

File Explorer

  • .clang-format
  • .clang-tidy
  • .flake8
  • .git-blame-ignore-revs
  • .gitignore
  • .mailmap
  • .pre-commit-config.yaml
  • ACKNOWLEDGEMENTS
  • AGENTS.md
  • CMakeLists.txt
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • fdb.cluster.cmake
  • LICENSE
  • pull_request_template.md
  • README.md
  • SECURITY.md
  • swift_get_latest_toolchain.sh
  • SWIFT_GUIDE.md
  • SWIFT_IDE_SETUP.md
  • versions.target.cmake

# Installation Guide

cmake
Prerequisites

Setup Steps

mkdir build && cd build

Create and navigate to the build directory.

cmake -G Ninja -DUSE_WERROR=ON ..

Configure the build system using CMake.

ninja

Compile the project using Ninja.

Key Commands

cmake -G Ninja -DUSE_WERROR=ON ..

Generate Ninja build system files.

ninja

Build the project in parallel.

ctest -L fast

Run fast test suite.

Building requires at least 8GB of memory. Use 'ninja -j1' to disable parallel builds if the system freezes.

# Use via CDN

jsDelivr

jsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.

Release Timeline

Actively Maintained

Command Glossary

Commands referenced in this DOCs, explained below.

🔍

clang-format

View Details ▼

Auto-format C/C++/Java/JavaScript/Objective-C/Protobuf/C# code.

clang-format {{path/to/file}}

Format a file and print the result to `stdout`:

clang-format -i {{path/to/file}}

Format a file in-place:

clang-format --style {{LLVM|GNU|Google|Chromium|Microsoft|Mozilla|WebKit}} {{path/to/file}}

Format a file using a predefined coding style:

🔍

clang-tidy

View Details ▼

An LLVM-based C/C++ linter to find style violations, bugs, and security flaws through static analysis.

clang-tidy {{path/to/file.cpp}}

Run default checks on a source file:

clang-tidy {{path/to/file.cpp}} -checks={{-*,cppcoreguidelines-*}}

Don't run any checks other than the `cppcoreguidelines` checks on a file:

clang-tidy -checks={{*}} -list-checks

List all available checks:

🔍

cmake

View Details ▼

Cross-platform build automation system, that generates recipes for native build systems.

cmake {{path/to/project_directory}}

Generate a build recipe in the current directory with `CMakeLists.txt` from a project directory:

cmake --build {{path/to/build_directory}}

Use a generated recipe in a given directory to build artifacts:

cmake --install {{path/to/build_directory}} --strip

Install the build artifacts into `/usr/local/` and strip debugging symbols:

🔍

flow

View Details ▼

A static type checker for JavaScript.

flow

Run a flow check:

flow ls

Check which files are being checked by flow:

flow batch-coverage --show-all --strip-root {{path/to/directory}}

Run a type coverage check on all files in a directory:

🔍

ninja

View Details ▼

A Build system designed to be fast.

ninja

Build in the current directory:

ninja -j {{4}}

Build in the current directory, executing 4 [j]obs at a time in parallel:

ninja -C {{path/to/directory}}

Build a program in a given directory:

// repository documentation