This uses an implementation of the std::filesystem interface instead of the handwritten functions in various places. I've also added a test to verify the behavior of includes.
std::filesystem is not widely supported on all platforms yet, hence the third party library. However, there's a CMake option to switch to an official std::filesystem implementation. Either implementation is pretty rough on compile times, so an option for precompiled headers is also added.
This uses an implementation of the std::filesystem interface instead of the handwritten functions in various places. I've also added a test to verify the behavior of includes.
std::filesystem is not widely supported on all platforms yet, hence the third party library. However, there's a CMake option to switch to an official std::filesystem implementation. Either implementation is pretty rough on compile times, so an option for precompiled headers is also added.