1. 08 May, 2020 2 commits
  2. 09 Apr, 2020 1 commit
  3. 31 Mar, 2020 1 commit
  4. 03 Mar, 2020 2 commits
    • Hans Johnson's avatar
      STYLE: Use auto for variable type matches the type of the initializer · cc8fc323
      Hans Johnson authored
      This check is responsible for using the auto type specifier for variable
      declarations to improve code readability and maintainability.
      
      The auto type specifier will only be introduced in situations where the
      variable type matches the type of the initializer expression. In other words
      auto should deduce the same type that was originally spelled in the source
      cc8fc323
    • Hans Johnson's avatar
      PERF: emplace_back method results in potentially more efficient code · 91429382
      Hans Johnson authored
      The check flags insertions to an STL-style container done by calling the
      push_back method with an explicitly-constructed temporary of the container
      element type. In this case, the corresponding emplace_back method results in
      less verbose and potentially more efficient code.
      91429382
  5. 18 Feb, 2020 1 commit
  6. 13 Feb, 2020 1 commit
  7. 17 Sep, 2019 1 commit
  8. 19 Aug, 2019 1 commit
  9. 24 Jul, 2019 1 commit
    • Brad King's avatar
      SystemTools: Fix CollapseFullPath with relative base path · c6f8e24a
      Brad King authored
      Although `CollapseFullPath` is meant to construct a full path, it
      is possible that a caller will provide a relative base path.
      In this case, keep leading `../` components from the base path
      instead of discarding them.
      c6f8e24a
  10. 23 Jan, 2019 1 commit
  11. 09 Jun, 2018 1 commit
  12. 31 May, 2018 1 commit
    • Kitware Robot's avatar
      Revise C++ coding style using clang-format-6.0 · 828b6837
      Kitware Robot authored
      Run the `clang-format.bash` script to update all our C and C++ code to a
      new style defined by `.clang-format`.  Use `clang-format` version 6.0.
      
      * If you reached this commit for a line in `git blame`, re-run the blame
        operation starting at the parent of this commit to see older history
        for the content.
      
      * See the parent commit for instructions to rebase a change across this
        style transition commit.
      828b6837
  13. 18 May, 2018 1 commit
    • Peter Wu's avatar
      SystemTools: Fix GetLineFromStream to avoid libc++ bug on OS X 10.7 · 898dc6b9
      Peter Wu authored
      LLVM libc++ as included with Mac OS X 10.7 suffers from an issue where
      the trailing character is discarded when the delimiter (LF) is not found
      within the given buffer size (1024).  The returned length is also 1024
      rather than 1023.
      
      This issue results in truncated reads as observed with CMake 3.11.0 on
      Mac OS X 10.7 and `cmake -E cmake_link_script link.txt`.
      
      Solve this by replacing `istream::getline` by `std::getline` which does
      not trigger the buffering issue.  There is one edge case that I decided
      to leave up to the callers though: a file containing `\0` previously
      resulted in line truncation, but is now included in the result.
      
      Tested with Mac OS X 10.7 and 10.11:
      
          -DCMAKE_OSX_DEPLOYMENT_TARGET=10.7 -DCMAKE_CXX_FLAGS=-stdlib=libc++
      
      and `./kwsysTestsCxx testSystemTools`.
      
      Issue: cmake/cmake#15039
      898dc6b9
  14. 07 Mar, 2018 1 commit
  15. 31 Jan, 2018 3 commits
  16. 21 Dec, 2017 1 commit
  17. 09 Dec, 2017 1 commit
  18. 05 Oct, 2017 1 commit
  19. 29 Sep, 2017 1 commit
  20. 03 Aug, 2017 1 commit
  21. 29 May, 2017 1 commit
  22. 06 May, 2017 1 commit
  23. 17 Apr, 2017 1 commit
    • Brad King's avatar
      Encoding: Add ToWindowsExtendedPath function · e71a3406
      Brad King authored
      Move the implementation of `SystemTools::ConvertToWindowsExtendedPath`
      over to a new function in `Encoding`.  It does not depend on other
      things `SystemTools` and will be useful in other KWSys components
      that already depend on `Encoding` but not `SystemTools`.
      e71a3406
  24. 29 Mar, 2017 1 commit
  25. 15 Jan, 2017 1 commit
    • Brad King's avatar
      SystemTools: Fix conversion warning in test case · e08eee61
      Brad King authored
      ```
      testSystemTools.cxx:901:32: warning: comparison of integers of different
        signs: 'size_type' (aka 'unsigned long') and 'long' [-Wsign-compare]
          if (!result || line.size() != size) {
                         ~~~~~~~~~~~ ^  ~~~~
      ```
      e08eee61
  26. 09 Jan, 2017 1 commit
  27. 04 Nov, 2016 2 commits
    • Kitware Robot's avatar
      Revise C++ coding style using clang-format · 6c973b46
      Kitware Robot authored
      Run the `clang-format.bash` script to update all our C and C++ code to a new
      style defined by `.clang-format`.  Use `clang-format` version 3.8.
      
      * If you reached this commit for a line in `git blame`, re-run the blame
        operation starting at the parent of this commit to see older history
        for the content.
      
      * See the parent commit for instructions to rebase a change across this
        style transition commit.
      
      Change-Id: Ie3aedc03bfe5c3999d4a077fafb8c6f3bbffc5c5
      6c973b46
    • Brad King's avatar
      Simplify KWSys per-source license notices · c41c1bc4
      Brad King authored
      Per-source copyright/license notice headers that spell out copyright holder
      names and years are hard to maintain and often out-of-date or plain wrong.
      Precise contributor information is already maintained automatically by the
      version control tool.  Ultimately it is the receiver of a file who is
      responsible for determining its licensing status, and per-source notices are
      merely a convenience.  Therefore it is simpler and more accurate for
      each source to have a generic notice of the license name and references to
      more detailed information on copyright holders and full license terms.
      
      Our `Copyright.txt` file now contains a list of Contributors whose names
      appeared source-level copyright notices.  It also references version control
      history for more precise information.  Therefore we no longer need to spell
      out the list of Contributors in each source file notice.
      
      Replace KWSys per-source copyright/license notice headers with a short
      description of the license and lin...
      c41c1bc4
  28. 14 Sep, 2016 1 commit
  29. 03 Aug, 2016 1 commit
    • Ben Boeckel's avatar
      SystemTools: add a PathExists method · 6d23dd7e
      Ben Boeckel authored
      This method checks if a path by the given name exists. The problem with
      FileExists is that it returns `false` even for broken (or
      self-referential) symlinks which may not be what the user wants.
      
      Change-Id: I71b8af6e12a5ae4b1319a3bec83db6c3cef36f90
      6d23dd7e
  30. 18 Jul, 2016 1 commit
  31. 02 Dec, 2015 2 commits
  32. 28 Sep, 2015 1 commit
    • Vitaly Baranov's avatar
      SystemTools: Fix GetPath to not affect existing output vector entries · 2089567a
      Vitaly Baranov authored
      The GetPath method appends paths to an output vector and also converts
      paths to forward slashes.  However, the method should not modify entries
      in the output vector that existed prior to the call.  Fix it to only fix
      slashes in the entries it added to the vector.  Also add a test case
      covering this behavior.
      
      Change-Id: Ie098c3eddbe63ed59f0d393aa6c43ea6c395011d
      2089567a
  33. 28 Aug, 2015 2 commits