This commit creates the first library of the host OS abstraction
layer to access native OS dialogs using a more flexible C++ API
and implements file browser dialogs using nativefiledialog-extended
so that XDG desktop portals can be used to spawn these dialogs
in Linux.
Since most code inside host library doesn't really have to do with the
emulated PS Vita environment but rather with handling the different
package formats used in the console, this commit moves the code from
the host library into its own dedicated library. In summary:
- Moved package code into its own library and edited function calls
to accomodate the change
- Edited some function interfaces in order not to cause a dependency
hell due to cross-referenced types in headers that depended in
one another and edited function calls and resource access to accomodate
the change
- copy_directories() and copy_path() from `vita3k/interface.cpp` have
been modified and moved to io library due to being used in package
library and others. Keeping them as they were before causes dependency
hell
- All functions whose interface has been changed now have a Doxygen
comment block explaining the new interface
- host has been declared as an INTERFACE CMake library to fix linking
issues on Windows due to the fact that it doesn't compile C++ source
files anymore
* cmake: Add NOMINMAX globally to avoid Windows compilation issues with std::min/std::max
* main/net: add missing include files
* rtc: Remove convert_filetime/convert_timespec functions as they have been replaced with _wstat/stat
* external: Update better-enums to tag "0.11.3"
* external: Update CLI11 to tag "v1.9.1"
* external: Update elfio to tag "Release_3.8"
* external: Update glad to tag "0.1.34"
* external: Update googletest to tag "release-1.10.0"
* external: Update imgui to tag "v1.80"
* external: Update imgui_club
* external: Update miniz to tag "2.1.0"
* external: Update pugixml to tag "v1.11.4"
* external: Update spdlog to tag "v1.8.2"
* external: Update stb
* external: Update yaml-cpp to tag "yaml-cpp-0.6.3"
* external: Switch to vitasdk/vita-toolchain
* external: Refactor xxHash integration