diff options
Diffstat (limited to 'Source/Core/Common/FileUtil.cpp')
| -rw-r--r-- | Source/Core/Common/FileUtil.cpp | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/Source/Core/Common/FileUtil.cpp b/Source/Core/Common/FileUtil.cpp index a218f6cb8e..522d3028fa 100644 --- a/Source/Core/Common/FileUtil.cpp +++ b/Source/Core/Common/FileUtil.cpp @@ -885,10 +885,8 @@ std::string GetExeDirectory() #endif } -std::string GetSysDirectory() +static std::string CreateSysDirectoryPath() { - std::string sysDir; - #if defined(_WIN32) || defined(LINUX_LOCAL_DEV) #define SYSDATA_DIR "Sys" #elif defined __APPLE__ @@ -902,25 +900,32 @@ std::string GetSysDirectory() #endif #if defined(__APPLE__) - sysDir = GetBundleDirectory() + DIR_SEP + SYSDATA_DIR; + const std::string sys_directory = GetBundleDirectory() + DIR_SEP SYSDATA_DIR DIR_SEP; #elif defined(_WIN32) || defined(LINUX_LOCAL_DEV) - sysDir = GetExeDirectory() + DIR_SEP + SYSDATA_DIR; + const std::string sys_directory = GetExeDirectory() + DIR_SEP SYSDATA_DIR DIR_SEP; #elif defined ANDROID - sysDir = s_android_sys_directory; - ASSERT_MSG(COMMON, !sysDir.empty(), "Sys directory has not been set"); + const std::string sys_directory = s_android_sys_directory + DIR_SEP; + ASSERT_MSG(COMMON, !s_android_sys_directory.empty(), "Sys directory has not been set"); #else - sysDir = SYSDATA_DIR; + const std::string sys_directory = SYSDATA_DIR DIR_SEP; #endif - sysDir += DIR_SEP; - INFO_LOG_FMT(COMMON, "GetSysDirectory: Setting to {}:", sysDir); - return sysDir; + INFO_LOG_FMT(COMMON, "CreateSysDirectoryPath: Setting to {}", sys_directory); + return sys_directory; +} + +const std::string& GetSysDirectory() +{ + static const std::string sys_directory = CreateSysDirectoryPath(); + return sys_directory; } #ifdef ANDROID void SetSysDirectory(const std::string& path) { INFO_LOG_FMT(COMMON, "Setting Sys directory to {}", path); + ASSERT_MSG(COMMON, s_android_sys_directory.empty(), "Sys directory already set to {}", + s_android_sys_directory); s_android_sys_directory = path; } #endif |
