OpenLabora is a C++20 open source digital adaptation of the Ora et Labora boardgame by Uwe Rosenberg.
The game is developed by me as a portfolio project and mainly serves an educational purpose.
Currently I'm only building for x64 Windows with MSVC compiler. However no dependencies are Windows-specific and the code portability is always considered, so the project should build just fine on Linux / Mac or any other OS. If you encounter any problems with non-Windows platforms please create an issue.
Dependencies are managed with CMake FetchContent module, so this section just provides information on what libraries must be available on the target platform and to give credit to the authors.
- Compiler with C++20 support
- CMake v.3.24 or newer
- Download and install project dependencies. Ensure
[path to CMake]/bin
is in yourPATH
environment variable - Use cmd, PowerShell or any other terminal of your choice to clone the repository:
git clone https://github.com/flotsamarch/openlabora
or download sources as zip - Enter project directory
cd openlabora
- Create build directory:
mkdir build/ && cd build
- Configure with
cmake ..
- Build:
cmake --build . -- /p:Configuration=[Debug or Release]
or just openOpenLabora.sln
and build with Visual Studio - After successful build executable should be present in
build/bin/[Debug or Release]/
Currently the dependency management only works for Windows. CMake should be able to find the installed dependencies via find_package module, but at the moment I cannot guarantee that the project builds. This problem is planned to be solved once I switch to using new GUI library.
Even though unit testing is generally considered a bad practice in videogame industry I wanted my project to be done right in a classic software engineering way. To run tests execute the following command in the build/
directory:
ctest -C [Debug or Release] --test-dir .\test\
This is a solo project and I would rather it stays that way. Aside from that any suggestions on improvement as well as bug reports are appreciated.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.