This project is a Rubik's Cube solver built around a C++ re-implementation of Kociemba's twophase algorithm, inspired by the original mathematica code from [1].
It inclues:
- libcube: the core C++ library with C-style interface exported;
- pycube: the Python binding package via ctypes;
- jscube: the JavaScript binding package via emscripten;
- icube: the command-line executable.
Prerequisites:
- Cmake: to build libcube;
- Emscripten & npm: to build jscube;
- Python: to build pycube.
Build & package
- sdk: run
scripts/build_libcube.sh; - jscube: run
scripts/pack_jscube.sh; - pycube: run
scripts/pack_pycube.sh;
(An example to package sdk, jscube and pycube):
#!/usr/bin/env bash
export BUILD_SDIST=true # false: whl only; true: whl + sdist
rm -rf dist/ # clean old files
sh scripts/build_libcube.sh package # subcommand: package
sh scripts/pack_pycube.sh
sh scripts/pack_jscube.sh