summaryrefslogtreecommitdiffstats
path: root/SystemTools.hxx.in
diff options
context:
space:
mode:
authorKWSys Robot <kwrobot@kitware.com>2014-07-02 14:57:17 (GMT)
committerBrad King <brad.king@kitware.com>2014-07-07 13:04:19 (GMT)
commit3d127627f8e28d97ecc44515e274b3780ae3f4b9 (patch)
tree4c1cd35ad2f054bf041265162e49db23cdc38b6a /SystemTools.hxx.in
parented52685dd7ea5c54e7a5e6caa789293d76f10b15 (diff)
downloadCMake-3d127627f8e28d97ecc44515e274b3780ae3f4b9.zip
CMake-3d127627f8e28d97ecc44515e274b3780ae3f4b9.tar.gz
CMake-3d127627f8e28d97ecc44515e274b3780ae3f4b9.tar.bz2
KWSys 2014-07-02 (c2a329ce)
Extract upstream KWSys using the following shell commands. $ git archive --prefix=upstream-kwsys/ c2a329ce | tar x $ git shortlog --no-merges --abbrev=8 --format='%h %s' c282e64f..c2a329ce Chuck Atkins (3): e4bba930 Directory: Make sure the /* suffix uses correct slashes 97817ce7 SystemTools: Refactor test file and directory locations 8f991ab0 SystemTools: Use extended paths on Windows for > 256 length Clinton Stimpson (1): c2a329ce Encoding: Fixes uses of stat() on Windows to work with unicode. Change-Id: I8e3aa1ba66ce80900cb25a692287495b911dcbd0
Diffstat (limited to 'SystemTools.hxx.in')
-rw-r--r--SystemTools.hxx.in13
1 files changed, 12 insertions, 1 deletions
diff --git a/SystemTools.hxx.in b/SystemTools.hxx.in
index fb55848..b7c7206 100644
--- a/SystemTools.hxx.in
+++ b/SystemTools.hxx.in
@@ -249,7 +249,18 @@ public:
* Replace Windows file system slashes with Unix-style slashes.
*/
static void ConvertToUnixSlashes(kwsys_stl::string& path);
-
+
+#ifdef _WIN32
+ /**
+ * Convert the path to an extended length path to avoid MAX_PATH length
+ * limitations on Windows. If the input is a local path the result will be
+ * prefixed with \\?\; if the input is instead a network path, the result
+ * will be prefixed with \\?\UNC\. All output will also be converted to
+ * absolute paths with Windows-style backslashes.
+ **/
+ static kwsys_stl::wstring ConvertToWindowsExtendedPath(const kwsys_stl::string&);
+#endif
+
/**
* For windows this calls ConvertToWindowsOutputPath and for unix
* it calls ConvertToUnixOutputPath