#include "global.h" #include <whereami.h> #include <filesystem> #include <string> #include <string_view> const std::filesystem::path& GetExecutableDirectory() { static const std::filesystem::path* executable_directory = []() { int length = wai_getExecutablePath(NULL, 0, NULL); std::string buf(length, 0); wai_getExecutablePath(buf.data(), length, NULL); std::filesystem::path exec_path(buf); return new std::filesystem::path(exec_path.parent_path()); }(); return *executable_directory; } std::string GetAbsolutePath(std::string_view path) { return (GetExecutableDirectory() / path).string(); }