* Manually including libraries into the project while a perfectly acceptable solution
leads to slow updates and large maintainance costs. To address this
shortcoming we are introducing a package manager namely vcpkg into the
codebase to handle the download and build of most external dependencies. Conan
was also considered but vcpkg was chosen due to the centralized nature
of the project. To achieve the integration the CMake configuration has
been altered but not by much:
1. Packages handled by vcpkg have been moved from
externals/CMakeLists.txt to the root one to make them available to
all subdirectories.
2. In addition now find_package is used in accordance to the vcpkg
recommendations.
3. All libraries built by vcpkg have been updated to their latest
available version, except for Qt because our codebase isn't
compatible with Qt 6.0 yet.
Currently there are build issues caused by the fmtlib upgrade.
Another question is how to handle large libraries like Qt, Boost and
SDL2 which will be addressed in a later commit.