#include "Paths.hpp" #include #include #include #include #include "src/Exceptions/Exception.hpp" using namespace Bloom; std::string Paths::applicationDirPath() { auto pathCharArray = std::array(); if (readlink("/proc/self/exe", pathCharArray.data(), PATH_MAX) < 0) { throw Exceptions::Exception("Failed to obtain application directory path."); } return std::filesystem::path(std::string(pathCharArray.begin(), pathCharArray.end())).parent_path(); }