Skip to content
Snippets Groups Projects
  1. Jul 30, 2014
  2. Jul 02, 2014
  3. Jul 01, 2014
    • Chuck Atkins's avatar
      SystemTools: Use extended paths on Windows for > 256 length · 8f991ab0
      Chuck Atkins authored and Brad King's avatar Brad King committed
      Many Windows filesystem calls (but not all) have a MAX_PATH limitation
      of 260 characters (drive letter, colon, backslash, 256 char path, null).
      This is especially problematic for interacting with large highly nested
      build trees (the boost C++ libraries, for example). This limitation can
      be overcome by using extended length paths instead.  By converting
      local filesystem and network paths to extended length paths before
      passing them to the underlying APIs the maximum path length can be as
      large as 32767 characters. The new ConvertToWindowsExtendedPath
      function will convert "E:/a.txt" to "\\?\E:\a.txt" and "\\Foo\a.txt" to
      "\\?\UNC\Foo\a.txt".
      
      See also the MSDN article on "Naming Files, Paths, and Namespaces":
      
       http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247.aspx
      
      This also adds a hidden CMake option, KWSYS_TEST_SYSTEMTOOLS_LONG_PATHS,
      which, when set to TRUE, will enable the extended length path tests.
      This is off by default since if something does go awry, the resulting
      leftovers could be difficult to delete manually.
      
      Change-Id: Ib7ac1f657241ed389169678d1c078c0d836f1c7b
      8f991ab0
  4. May 16, 2014
  5. May 07, 2014
  6. Mar 12, 2014
  7. Feb 28, 2014
  8. Dec 19, 2013
  9. Nov 21, 2013
    • Brad King's avatar
      SystemTools: Avoid unused function warnings · 1010d0e3
      Brad King authored
      The WindowsFileExists function was originally created to avoid
      duplication by the Cygwin and Windows implementations of FileExists.
      Now that we use the ANSI API on Cygwin and the Wide API on Windows, one
      of the two overloads is always left unused.  Drop the helper functions
      and inline the implementations at their respective (single) call sites.
      
      Change-Id: I4d25f98b8b11f0fdce2f360f5f425e0b159b22e5
      1010d0e3
  10. Oct 31, 2013
  11. Oct 08, 2013
    • Adrien Destugues's avatar
      SystemTools: Remove outdated preprocessor checks for Haiku · 2b303bd7
      Adrien Destugues authored and Brad King's avatar Brad King committed
      Haiku does not define __BEOS__ anymore, so there is no need to guard
      these BeOS specific workaround for Haiku.  The workarounds themselves
      are not needed for Haiku as it has much better POSIX compatibility than
      BeOS did.
      
      Change-Id: I91a1598df764abe0febc9c3828e8bfd47e089cee
      2b303bd7
  12. Aug 06, 2013
  13. Jul 24, 2013
  14. Jul 10, 2013
    • Brad King's avatar
      SystemTools: Implement IsSubDirectory without loop · beef6819
      Brad King authored
      The loop condition "while ( path.size() > dir.size() )" assumes that
      eventually path will be no longer than dir but "c:/" will always be
      longer than "/" and loop forever.  Simplify the implementation to avoid
      the loop and the assumption.
      
      Change-Id: I5613c7554ebd05b12cfe4882ac3bec4ecaa6e0ae
      CMake-Issue: 14283
      beef6819
  15. Jun 24, 2013
    • Cory Quammen's avatar
      SystemTools: MakeDirectory() reports failure if path is file · 3d1d4e7c
      Cory Quammen authored
      If the path passed to MakeDirectory() pointed to an existing file (not
      directory), it would return true indicating that the directory was
      successfully created even though creation of the directory failed.
      Now it returns true only when the existing path is a directory and
      returns false otherwise.
      
      Change-Id: Ieb3e6352d63868c824df35f19187a8d396f75296
      3d1d4e7c
  16. Jun 03, 2013
  17. May 31, 2013
    • Brad King's avatar
      SystemTools: Touch with better than 1s resolution if possible · dccf7725
      Brad King authored
      On Windows use CreateFile (with FILE_FLAG_BACKUP_SEMANTICS so it works
      for directories), GetSystemTimeAsFileTime, and SetFileTime to touch.  On
      other platforms prefer utimensat, then utimes, then utime.
      
      Change-Id: Ie85fe3766661803e66f39975a147cd6f7320ea59
      CMake-Issue: 14020
      dccf7725
  18. May 28, 2013
    • Brad King's avatar
      SystemTools: Fix FileIsDirectory with long paths · 9fd64779
      Brad King authored
      Allocate a buffer large enough to hold the input path when removing a
      trailing slash.  Use a local stack buffer when it is large enough and
      fall back to heap allocation otherwise.
      
      Change-Id: Ibc4b4c96c7b0fafae9f4b5cd7ea894bdd605a098
      9fd64779
  19. May 06, 2013
  20. Apr 25, 2013
Loading