- CMake
>= 3.16 - C++ Compiler
>= C++17 - access to jogasaki and manager/metadata-manager
- and see Dockerfile sectioni
# retrieve third party modules
git submodule update --init --recursiveFROM ubuntu:22.04
RUN apt update -y && apt install -y git build-essential cmake ninja-build libboost-system-dev libboost-thread-dev libboost-serialization-dev libgoogle-glog-dev libgflags-dev protobuf-compiler protobuf-c-compiler libprotobuf-dev libssl-dev nlohmann-json3-devoptional packages:
doxygengraphvizclang-tidy-14
This requires below tsurugidb modules to be installed.
git clone git@github.com:project-tsurugi/jogasaki.git third_party/temp_jogasaki
cd third_party/temp_jogasaki
mkdir build
cd build
cmake -DINSTALL_API_ONLY=ON ..
cmake --build . --target install
cd ../../..
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug ..
cmake --build . --target installavailable options:
-DBUILD_STUB_ONLY=ON- build the stub only-DBUILD_BRIDGE_ONLY=ON- build the bridge only-DBUILD_TESTS=OFF- never build test programs-DBUILD_EXAMPLES=ON- also build example programs-DBUILD_STRICT=OFF- don't treat compile warnings as build errors-DCMAKE_PREFIX_PATH=<installation directory>- indicate prerequiste installation directory-DSHARKSFIN_IMPLEMENTATION=<implementation name>- switch sharksfin implementation. Available options arememoryandshirakami(default:shirakami)- 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)