git clone https://github.com/Retr0Wawe/TaskForUniver --recursive
sudo pacman -S make
sudo pacman -S cmake
sudo apt-get install make
sudo apt-get install cmake
download cmake https://github.com/Kitware/CMake/releases/download/v3.23.0-rc1/cmake-3.23.0-rc1-windows-x86_64.msi
mkdir build && cd build && cmake .. && make
open terminal and write:
mkdir build && cd build && cmake ..
The architecture of the application largely lies in the modularity of the code, the principle of class independence, but there is an exception in the form of the Window class, since it is directly integrated with Gui, which, in fact, is also part of the Window. Gui is an interface and by default uses ImGui as a library for rendering the interface, and as a graphics API for rendering OpenGL. Of course, you can inherit from the Gui class and override the graphic api (for example, Vulkan or DirectX). As an XML parser, I use the tinyxml2 library for which I wrote my own wrapper for greater ease of use. For logging, I decided to use the spdlog library, for which I also wrote a wrapper to make it convenient to use and combine simple logging to the console with logging to a file