libmahjong is a library for running games of Riichi Mahjong, originally built to power Riichi Royale, and later Gametable. The library uses a state machine to represent the status of the game, and allows for players (whether artificial or real) to interact at appropriate times.
Install the following dependencies:
-
git -
cmake -
clangorgcc
Optionally:
-
gtest(For testing support) -
ctcache(For quicker compilation with clang-tidy enabled)
Clone the repository:
git clone git@github.com:realliance/libmahjong.git
Run the following commands within the project directory:
# Bootstrap CMake Environment
cmake -S . -B build
# CMake project opinions (default)
* libmahjong_build_tools: whether or not examples should be built (ON)
* libmahjong_build_tests: whether or not tests should be built (ON)
* libmahjong_use_clang_utils: whether or not project is compiled with clang-tidy (ON)
# Build Project
cmake --build build
The test suite is located in tests/ and can be run with ctest --test-dir build --output-on-failure