diff options
Diffstat (limited to 'core/src/Utils/StandardDirectories.cpp')
-rw-r--r-- | core/src/Utils/StandardDirectories.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/core/src/Utils/StandardDirectories.cpp b/core/src/Utils/StandardDirectories.cpp index 7defc5d..e7d3657 100644 --- a/core/src/Utils/StandardDirectories.cpp +++ b/core/src/Utils/StandardDirectories.cpp @@ -12,7 +12,8 @@ namespace fs = std::filesystem; # pragma comment(lib, "shell32.lib") # pragma comment(lib, "ole32.lib") -static fs::path GetAppDataRoaming() { +static fs::path GetAppDataRoaming() +{ PWSTR path = nullptr; HRESULT hr = SHGetKnownFolderPath(FOLDERID_RoamingAppData, KF_FLAG_CREATE, nullptr, &path); if (SUCCEEDED(hr)) { @@ -33,7 +34,8 @@ static fs::path GetAppDataRoaming() { #elif PLATFORM_LINUX # include <cstdlib> -static fs::path GetEnvVar(const char* name, const char* backup) { +static fs::path GetEnvVar(const char* name, const char* backup) +{ if (const char* path = std::getenv(name)) { fs::path dataDir(path); fs::create_directories(dataDir); @@ -47,7 +49,8 @@ static fs::path GetEnvVar(const char* name, const char* backup) { #endif -const std::filesystem::path& StandardDirectories::UserData() { +const std::filesystem::path& StandardDirectories::UserData() +{ static auto userDataDir = []() -> fs::path { #if PLATFORM_WIN32 return GetAppDataRoaming(); @@ -60,7 +63,8 @@ const std::filesystem::path& StandardDirectories::UserData() { return userDataDir; } -const std::filesystem::path& StandardDirectories::UserConfig() { +const std::filesystem::path& StandardDirectories::UserConfig() +{ static auto userConfigDir = []() -> fs::path { #if PLATFORM_WIN32 return GetAppDataRoaming(); |