updated build system

This commit is contained in:
2024-10-10 09:57:47 -05:00
parent 9c01d51334
commit fff3dc4685
2 changed files with 22 additions and 23 deletions

View File

@ -30,10 +30,13 @@
namespace {
[[nodiscard]] auto resolve(std::string path) -> std::string {
#if defined(_WIN32)
if (repertory::utils::string::contains(path, "~\\") ||
repertory::utils::string::contains(path, "%")) {
if (repertory::utils::string::contains(path, "~\\")) {
repertory::utils::string::replace(path, "~\\", "%USERPROFILE%\\");
} else if (repertory::utils::string::contains(path, "~/")) {
repertory::utils::string::replace(path, "~/", "%USERPROFILE%\\");
}
if (repertory::utils::string::contains(path, "%")) {
auto size = ::ExpandEnvironmentStringsA(path.c_str(), nullptr, 0);
std::string dest;
@ -43,6 +46,10 @@ namespace {
path = dest.c_str();
}
#else // !defined (_WIN32)
if (repertory::utils::string::contains(path, "~\\")) {
repertory::utils::string::replace(path, "~\\", "~/");
}
if (repertory::utils::string::contains(path, "~/")) {
std::string home{};
auto res =
@ -57,11 +64,11 @@ namespace {
throw std::runtime_error("failed to getpwuid: " + res.reason);
}
return repertory::utils::string::replace(path, "~/", home + "/");
path = repertory::utils::string::replace(path, "~/", home + "/");
}
#endif // defined (_WIN32)
return path;
return finalize(path);
}
} // namespace
@ -72,7 +79,7 @@ auto absolute(std::string_view path) -> std::string {
return abs_path;
}
abs_path = resolve(finalize(abs_path));
abs_path = resolve(abs_path);
#if defined(_WIN32)
if (not utils::string::contains(abs_path, dot)) {
return abs_path;