Skip to content

Latest commit

 

History

History
79 lines (53 loc) · 2.56 KB

README.md

File metadata and controls

79 lines (53 loc) · 2.56 KB

Actions Status Actions Status Actions Status Actions Status Actions Status

PawnDB

An ultra lightweight & fast, portable & type-safe in-memory database optimized for OLTP workloads.

PawnDB Wiki

PawnDB Doxygen Docs

Language

License

MIT License

Build the Project

Prerequisites

Hard requirements:

  • clang version > 16.0, or gcc version > 8.0.

  • cmake version > 3.20.

  • ninja build system.

  • doxygen for generating document html. (Optional)

  • gcovr for showing test coverage report. (Optional)

  • clang-format version > 18.0. (Optional)

Build and run the standalone target

Use the following command to build and run the executable target.

cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain/clang.cmake
cmake --build build --target pawndb-app
./build/standalone/pawndb-app

Build and run test suite

Use the following commands from the project's root directory to run the test suite.

cmake -S . -B build -DPAWNDB_ENABLE_TEST -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain/clang.cmake
cmake --build build --target clean-coverage
cmake --build build --target run-all-tests
cmake --build build --target show-test-coverage

Check clang-format

cmake -S . -B build -DPAWNDB_ENABLE_STYLE -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain/clang.cmake
cmake --build build --target check-clang-format

Apply clang-format

cmake -S . -B build -DPAWNDB_ENABLE_STYLE -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain/clang.cmake
cmake --build build --target apply-clang-format

Build Docs

cmake -S . -B build -DPAWNDB_ENABLE_DOXYGEN -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain/clang.cmake
cmake --build build --target doxygen