Skip to content

project-tsurugi/shakujo

Repository files navigation

Shakujo - A portable relational database languages compiler

Requirements

  • CMake >= 3.16
  • C++ Compiler >= C++17
  • Java Runtime >= 11
  • 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 openjdk-11-jdk libgoogle-glog-dev pkg-config uuid-dev doxygen

How to build

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

available options:

  • -DBUILD_SHARED_LIBS=OFF - create static libraries instead of shared libraries
  • -DBUILD_TESTS=OFF - don't build test programs
  • -DBUILD_DOCUMENTS=OFF - don't build documents by doxygen
  • -DBUILD_EXAMPLES=OFF - don't build nor test example programs
  • -DINSTALL_EXAMPLES=ON - also install example programs
  • -DFORCE_INSTALL_RPATH=ON - force set RPATH for non-default library paths
  • 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

ninja install

run tests

ctest

generate documents

ninja doxygen

License

Apache License, Version 2.0

Releases

No releases published

Packages

No packages published

Languages