1. 10 Nov, 2016 1 commit
  2. 09 Nov, 2016 2 commits
    • Matt Leotta's avatar
      SystemInformation: Skip loopback devices in search for FQDN · 6a642f72
      Matt Leotta authored
      DNS lookup on loopback devices is not needed to find the FQDN and just
      slows down this function, especially when the DNS lookup times out.
      
      Change-Id: I3f8b565cf8786b92cfef23b693c3c4fab57a904e
      6a642f72
    • Brad King's avatar
      FStream: Include Configure.hxx before other headers · 18c65411
      Brad King authored
      In commit 15e90a3c (Sort includes to stabilize include order w.r.t.
      clang-format, 2016-11-04) we forgot to move `Configure.hxx` into its own
      block to ensure it remains first.  Restore the original include order
      and add separating blanks to make it stable w.r.t. clang-format.
      
      Change-Id: Ibca524065147192da916ad98d7db3c5d86b26a5a
      18c65411
  3. 08 Nov, 2016 1 commit
  4. 04 Nov, 2016 12 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
      Empty commit at end of history preceding clang-format style transition · 6604c4b6
      Brad King authored
      This is an empty commit that precedes an automatic application of
      clang-format to update the C++ style of our entire source tree.
      This may be helpful to rebase a topic branch that was originally
      based on a commit preceding the transition.  One may first rebase
      the topic on this commit.  Then use one of the following approaches.
      
      *   Rewrite the topic, including this commit, using `git filter-branch`
          `--tree-filter` with `clang-format.bash` to update the style in
          every commit.  Rebase the revised topic, excluding the rewrite of
          this commit, on the style transition commit.
      
      OR
      
      *   Add a `.git/info/grafts` entry to change the parent of the first
          commit in the topic from this commit to the style transition commit.
          Rewrite the topic using `git filter-branch --tree-filter` with
          `clang-format.bash` to update the style in every commit.  Then
          remove the graft, which was resolved by the filter.
      
      See `git help filter-branch` and `git help repository-layout` for
      details.
      
      Change-Id: Ieab41df4c10872a91c974330d27abd292e2da510
      6604c4b6
    • Brad King's avatar
      CONTRIBUTING: Add a section on coding style · aa94be0c
      Brad King authored
      Document that we now define our coding style with `clang-format`.
      
      Change-Id: I6dea8c3816f277b0e56e074ccd6c64a2cfeb094c
      aa94be0c
    • Brad King's avatar
      Add a script to run clang-format on the entire source tree · 547dacad
      Brad King authored
      List all sources in version control and filter out those that we should
      not format for various reasons.  Then run the clang-format tool to do an
      in-place update.
      
      Change-Id: If6d24b3b2e2de1b8e66f7fc2a713d2fd1d579f3d
      547dacad
    • Brad King's avatar
      Configure clang-format for KWSys source tree · 89b98af5
      Brad King authored
      Use the same format as CMake.  This is the Mozilla style with a few
      tweaks:
      
      * Do not align operator arguments.
      
      * Do not always break after a function return type.
      
      * Limit to 79 columns instead of 80 to fit edge cases
        better in 80-column terminals.
      
      * Format for C++98 instead of C++11 because KWSys is written
        in the former language.
      
      Change-Id: I755d3ca9cf2d883e85682fa86cab7127156da861
      89b98af5
    • Brad King's avatar
      kwsysPrivate: Protect KWSYS_HEADER macro from clang-format · 8649a886
      Brad King authored
      Do not let clang-format add spaces around the "/" in the macro
      definition.
      
      Change-Id: I51dd99b304300b4181c6e35628f3a3c324935b7a
      8649a886
    • Brad King's avatar
      SystemInformation: Remove stray comment · a4f5ef79
      Brad King authored
      References to `@KWSYS_NAMESPACE@` have no meaning in non-configured
      sources.
      
      Change-Id: I4ffa59918d69aefb4835b2d2e84e4c6bf73dd274
      a4f5ef79
    • Brad King's avatar
      Remove temporary script that filtered license notices · 1d4c0b4a
      Brad King authored
      Change-Id: I35dbe7cb024d2220e2a7137515d03c9b4dc838ba
      1d4c0b4a
    • 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 links to `Copyright.txt` and online
      information available from "https://cmake.org/licensing#kwsys".
      
      Run the `filter-notices.bash` script to perform the replacements mechanically.
      Manually fix up the shebang line in one file.
      
      Change-Id: I8497f7c868664dcf54a8608ab302ad93c860b334
      c41c1bc4
    • Brad King's avatar
      Add temporary script to filter license notices · fc42d3f2
      Brad King authored
      Add a script to replace our previous per-source license notices with a
      much simpler notice.  This will be used in a following commit and then
      removed.
      
      Change-Id: I63911c5b21bab6c198f7f65f7facffd6a1df405c
      fc42d3f2
    • Brad King's avatar
      Copyright.txt: Add notice of copyright by contributors · 26509227
      Brad King authored
      We do not require copyright assignment for contributions to KWSys.
      Update the top-level notice to mention "Contributors" explicitly.
      
      Change-Id: Id0bd823b8408b8041584a46c81ab46a8cfbe0c0d
      26509227
    • Brad King's avatar
      Sort includes to stabilize include order w.r.t. clang-format · 15e90a3c
      Brad King authored
      The clang-format tool sorts `#include` lines within contiguous blocks.
      Separate blocks with blank lines and sort the include lines within them
      so that clang-format does not re-order anything.
      
      Change-Id: I96d6828f470b9a234464972172d46afab322487c
      15e90a3c
  5. 03 Nov, 2016 1 commit
    • Brad King's avatar
      FStream: Quiet unused argument warning · 37306a1c
      Brad King authored
      On MSVC we get
      
          FStream.hxx(149): warning C4100: 'efilebuf' : unreferenced formal parameter
      
      Quiet the warning by casting the argument to `void`.
      
      Change-Id: Ife2e2301b95864b0ae4c8bafe21e8c989110d635
      37306a1c
  6. 23 Oct, 2016 1 commit
  7. 07 Oct, 2016 1 commit
    • Brad King's avatar
      SystemTools: Re-implement Strucmp · dfe9b386
      Brad King authored
      The current implementation was added by commit 5c8693bc (remove
      redundant function and eliminate need for strcasecmp, 2003-04-11).  The
      code was taken from Graphviz in 2003 from a source file that at the time
      was distributed under terms of the Common Public License, Version 1.0.
      While the actual content is simple and likely not copyrightable, clarify
      the licensing status by simply re-implementing the function from scratch
      using another approach.
      
      Change-Id: I44f72b215577af9e3de234b5ef03113c580a3bd6
      dfe9b386
  8. 29 Sep, 2016 1 commit
  9. 23 Sep, 2016 3 commits
  10. 20 Sep, 2016 6 commits
  11. 14 Sep, 2016 3 commits
    • Brad King's avatar
      SystemTools: Teach GetActualCaseForPath to convert as much as possible · c4049689
      Brad King authored
      If only some leading components of the input path exist then convert
      those and leave the rest unchanged.  This way if a file path is
      constructed using GetActualCaseForPath and created on disk, then a
      following GetActualCaseForPath on the same now-existing path will return
      the same value.
      
      Change-Id: I6e09a4d411f8bf107312f39d7409ba2d22bf176b
      CMake-Issue: 16295
      c4049689
    • Brad King's avatar
      SystemTools: Fix path comparison in test case · 0504dcaf
      Brad King authored
      Use ComparePath to perform case-insensitive comparison when needed.
      
      Change-Id: I901b1a12ab43655ac44eee2b3e18c3f2630d6c18
      0504dcaf
    • Brad King's avatar
      ConsoleBuf: Always compile test source for host Windows version · e736efa1
      Brad King authored
      Undefine any `_WIN32_WINNT` value that may be defined on the compiler
      command line by clients that are targeting the build at a different
      version of Windows than the host.  We must build for the host APIs in
      order for the test to be able to configure its console correctly.  Since
      the test binary is not installed it does not matter if it is not built
      for the client's target Windows version.
      
      Change-Id: Ic3e79550713384c45baf25aa624efbcb5d49d0a4
      e736efa1
  12. 09 Sep, 2016 1 commit
    • Dāvis Mosāns's avatar
      ConsoleBuf: Use a custom std::streambuf for console output on Windows · 669e3a06
      Dāvis Mosāns authored
      Currently Microsoft's C++ libraries implementation of std::cout/cerr
      can't output Unicode characters but only ASCII or ANSI if locale is set
      so we implement and use our own ConsoleBuf which can output Unicode
      characters to console and it doesn't matter what locale or console's
      codepage is set.
      
      Change-Id: I33053aa229796e84088aa3beb0ebe8bdbebaf3d1
      669e3a06
  13. 24 Aug, 2016 1 commit
  14. 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
  15. 02 Aug, 2016 3 commits
  16. 01 Aug, 2016 1 commit
  17. 21 Jul, 2016 1 commit