Saturnin is a Sega Saturn emulator
Before doing anything after cloning the repository, remove template extensions from properties files in the ./props directory.
Next, you must update user macros from properties sheets inside VS2022 to set up your directories. To do so, open the Property Manager first ( View | Property Manager ), then update the solution sheet macros according to your setup.
They are handled using vcpkg. You'll find in ./saturnin/lib/vcpkg everything necessary to build the libraries used by Saturnin.
Follow these steps:
run install_libraries.bat dynamic for building and installing dynamic libraries or install_libraries.bat static for building and installing static ones.
List of used libraries for reference:
argagg : A simple C++11 command line argument parser.
date : A date and time library based on the C++11/14/17
embed : std::embed implementation for the poor (C++17).
glbinding : A C++ binding for the OpenGL API, generated using the gl.xml specification.
glfw3 : A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input.
glm : OpenGL Mathematics (GLM).
dear imgui : Bloat-free Graphical User interface for C++ with minimal dependencies.
libconfig : C/C++ library for processing configuration files.
libzip : A C library for reading, creating, and modifying zip archives.
libzippp : C++ wrapper for libzip.
lodepng : PNG encoder and decoder in C and C++.
spdlog : Fast C++ logging library.
thread-pool : A fast, lightweight, and easy-to-use C++17 thread pool library