summaryrefslogtreecommitdiffstats
path: root/Source/cmSystemTools.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2018-01-23 13:55:58 (GMT)
committerBrad King <brad.king@kitware.com>2018-01-23 14:29:07 (GMT)
commit98628de812c4724fb2da199abb5fe08eeb5a1a64 (patch)
tree66e7c15536fede8e4b4f266147d19754e48311b8 /Source/cmSystemTools.h
parent3b588ac58256540e6dc974cf2d1a122c95f19171 (diff)
downloadCMake-98628de812c4724fb2da199abb5fe08eeb5a1a64.zip
CMake-98628de812c4724fb2da199abb5fe08eeb5a1a64.tar.gz
CMake-98628de812c4724fb2da199abb5fe08eeb5a1a64.tar.bz2
Extend libuv file translate mode workaround to all executables
Since libuv commit v1.14.1~7 (win: add uv__once_init() calls, 2017-08-30) the libuv initialization of the file translate mode may take place even if we do not use a uv loop. This change was included in our libuv update commit f4a26c748b (libuv 2018-01-19). Therefore use of libuv even through `cmSystemTools::GetRealPath` in any executable may trigger its file translate mode setting. Factor out the logic added to `cmake.exe` by commit v3.9.0-rc4~10^2 (cmake: Fix default file translate mode when using libuv, 2017-06-13) and re-use to initialize all executables. Issue: #16962
Diffstat (limited to 'Source/cmSystemTools.h')
-rw-r--r--Source/cmSystemTools.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h
index d29ba56..25df1f1 100644
--- a/Source/cmSystemTools.h
+++ b/Source/cmSystemTools.h
@@ -503,6 +503,10 @@ public:
static std::string GetRealPath(const std::string& path,
std::string* errorMessage = 0);
#endif
+
+ /** Perform one-time initialization of libuv. */
+ static void InitializeLibUV();
+
private:
static bool s_ForceUnixPaths;
static bool s_RunCommandHideConsole;