Skip to content

Latest commit

 

History

History
86 lines (62 loc) · 2.94 KB

README.md

File metadata and controls

86 lines (62 loc) · 2.94 KB

tateyama-bootstrap - bootstrap executable for application infrastructure

Requirements

  • CMake >= 3.16
  • C++ Compiler >= C++17
  • and see Dockerfile section
  • and see Dockerfile section
# retrieve third party modules
git submodule update --init --recursive

Dockerfile

FROM ubuntu:22.04

RUN apt update -y && apt install -y git build-essential cmake ninja-build libboost-filesystem-dev libboost-system-dev libboost-container-dev libboost-thread-dev libboost-stacktrace-dev libgoogle-glog-dev libgflags-dev doxygen libtbb-dev libnuma-dev protobuf-compiler protobuf-c-compiler libprotobuf-dev libmsgpack-dev uuid-dev libicu-dev pkg-config flex bison libssl-dev

optional packages:

  • clang-tidy-14

Install modules

tsurugidb modules

This requires below tsurugidb modules to be installed.

How to build

mkdir -p build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ..
cmake --build .

available options:

  • -DCMAKE_INSTALL_PREFIX=<installation directory> - change install location
  • -DCMAKE_PREFIX_PATH=<installation directory> - indicate prerequisite installation directory
  • -DCMAKE_IGNORE_PATH="/usr/local/include;/usr/local/lib/" - specify the libraries search paths to ignore. This is convenient if the environment has conflicting version installed on system default search paths. (e.g. gflags in /usr/local)
  • -DSHARKSFIN_IMPLEMENTATION=<implementation name> - switch sharksfin implementation. Available options are memory and shirakami (default: memory)
  • -DOGAWAYAMA=ON - enable ogawayama bridge
  • -DENABLE_JEMALLOC - use jemalloc instead of default malloc
  • for debugging only
    • -DENABLE_SANITIZER=OFF - disable sanitizers (requires -DCMAKE_BUILD_TYPE=Debug)
    • -DENABLE_UB_SANITIZER=ON - enable undefined behavior sanitizer (requires -DENABLE_SANITIZER=ON)
    • -DENABLE_COVERAGE=ON - enable code coverage analysis (requires -DCMAKE_BUILD_TYPE=Debug)

install

cmake --build . --target install

run tests

Execute the test as below:

ctest -V

Customize logging setting

You can customize logging in the same way as sharksfin. See sharksfin README.md for more details.

GLOG_minloglevel=0 tgctl start

License

Apache License, Version 2.0