diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 9fa828408d..f322e6459a 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -1101,43 +1101,6 @@ std::string cmSystemTools::GetComspec() #endif -std::string cmSystemTools::GetRealPathResolvingWindowsSubst( - const std::string& path, std::string* errorMessage) -{ -#ifdef _WIN32 - // uv_fs_realpath uses Windows Vista API so fallback to kwsys if not found - std::string resolved_path; - uv_fs_t req; - int err = uv_fs_realpath(nullptr, &req, path.c_str(), nullptr); - if (!err) { - resolved_path = std::string((char*)req.ptr); - cmSystemTools::ConvertToUnixSlashes(resolved_path); - // Normalize to upper-case drive letter as GetActualCaseForPath does. - if (resolved_path.size() > 1 && resolved_path[1] == ':') { - resolved_path[0] = toupper(resolved_path[0]); - } - } else if (err == UV_ENOSYS) { - resolved_path = cmsys::SystemTools::GetRealPath(path, errorMessage); - } else if (errorMessage) { - LPSTR message = nullptr; - DWORD size = FormatMessageA( - FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | - FORMAT_MESSAGE_IGNORE_INSERTS, - nullptr, err, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)&message, - 0, nullptr); - *errorMessage = std::string(message, size); - LocalFree(message); - - resolved_path = ""; - } else { - resolved_path = path; - } - return resolved_path; -#else - return cmsys::SystemTools::GetRealPath(path, errorMessage); -#endif -} - std::string cmSystemTools::GetRealPath(const std::string& path, std::string* errorMessage) { diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h index a17dca83a7..4f62aee639 100644 --- a/Source/cmSystemTools.h +++ b/Source/cmSystemTools.h @@ -605,11 +605,7 @@ public: static std::string GetComspec(); #endif - /** Get the real path for a given path, removing all symlinks. - This variant of GetRealPath also works on Windows but will - resolve subst drives too. */ - static std::string GetRealPathResolvingWindowsSubst( - const std::string& path, std::string* errorMessage = nullptr); + /** Get the real path for a given path, removing all symlinks. */ static std::string GetRealPath(const std::string& path, std::string* errorMessage = nullptr); diff --git a/Source/cmTimestamp.cxx b/Source/cmTimestamp.cxx index 4d8bc027d8..cb6eb6fbd0 100644 --- a/Source/cmTimestamp.cxx +++ b/Source/cmTimestamp.cxx @@ -62,8 +62,7 @@ std::string cmTimestamp::FileModificationTime(const char* path, const std::string& formatString, bool utcFlag) const { - std::string real_path = - cmSystemTools::GetRealPathResolvingWindowsSubst(path); + std::string real_path = cmSystemTools::GetRealPath(path); if (!cmsys::SystemTools::FileExists(real_path)) { return std::string();