1. 16 May, 2016 3 commits
    • Kitware Robot's avatar
      Revise C++ coding style using clang-format · d9fd2f54
      Kitware Robot authored and Brad King's avatar Brad King committed
      Run the `Utilities/Scripts/clang-format.bash` script to update
      all our 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.
      d9fd2f54
    • Brad King's avatar
      cmGeneratorTarget: Protect macro code layout from clang-format · c7006d2e
      Brad King authored
      The `IMPLEMENT_VISIT_IMPL` macro must preserve a space before the `>`
      character in case the `DATATYPE` is a template type ending in `>`.
      Manually format the macro layout as clang-format would except for this
      space.  Then add markup to tell clang-format not to format this macro.
      c7006d2e
    • Kitware Robot's avatar
      CMake Nightly Date Stamp · fba30b2f
      Kitware Robot authored
      fba30b2f
  2. 15 May, 2016 1 commit
  3. 14 May, 2016 2 commits
  4. 13 May, 2016 6 commits
  5. 12 May, 2016 2 commits
  6. 11 May, 2016 2 commits
  7. 10 May, 2016 1 commit
  8. 09 May, 2016 4 commits
    • Brad King's avatar
      Drop find_(library|file|path) prefixes from PATH on non-Windows · b30b32a4
      Brad King authored
      
      
      Since commit v3.3.0-rc1~430^2 (Teach find_(library|file|path) to get
      prefixes from PATH, 2015-02-18) we search in <prefix>/include and
      <prefix>/lib directories for prefixes with bin directories in the PATH
      environment variable.  The motivation was to support MSYS, MinGW and
      similar Windows platforms in their default environments automatically.
      At the time this behavior was thought to be worthwhile in general.
      Suggested-by: Chuck Atkins's avatarChuck Atkins <chuck.atkins@kitware.com>
      b30b32a4
    • Brad King's avatar
      Remove `//------...` horizontal separator comments · 0ac18d40
      Brad King authored
      Modern editors provide plenty of ways to visually separate functions.
      Drop the explicit comments that previously served this purpose.
      Use the following command to automate the change:
      
          $ git ls-files -z -- \
              "*.c" "*.cc" "*.cpp" "*.cxx" "*.h" "*.hh" "*.hpp" "*.hxx" |
            egrep -z -v "^Source/cmCommandArgumentLexer\." |
            egrep -z -v "^Source/cmCommandArgumentParser(\.y|\.cxx|Tokens\.h)" |
            egrep -z -v "^Source/cmDependsJavaLexer\." |
            egrep -z -v "^Source/cmDependsJavaParser(\.y|\.cxx|Tokens\.h)" |
            egrep -z -v "^Source/cmExprLexer\." |
            egrep -z -v "^Source/cmExprParser(\.y|\.cxx|Tokens\.h)" |
            egrep -z -v "^Source/cmFortranLexer\." |
            egrep -z -v "^Source/cmFortranParser(\.y|\.cxx|Tokens\.h)" |
            egrep -z -v "^Source/cmListFileLexer\." |
            egrep -z -v "^Source/cm_sha2" |
            egrep -z -v "^Source/(kwsys|CursesDialog/form)/" |
            egrep -z -v "^Utilities/(KW|cm).*/" |
            xargs -0 sed -i '/^\(\/\/---*\|\/\*---*\*\/\)$/ {d;}'
      
      This avoids modifying third-party sources and generated sources.
      0ac18d40
    • Jean-Christophe Fillion-Robin's avatar
      CustomCommandGenerator: Add support for CROSSCOMPILING_EMULATOR · 8c2cedc6
      Jean-Christophe Fillion-Robin authored and Brad King's avatar Brad King committed
      Teach the `add_custom_command` and `add_custom_target' commands to
      substitute argv0 with the crosscompiling emulator if it is a target with
      the `CROSSCOMPILING_EMULATOR` property set.
      8c2cedc6
    • Kitware Robot's avatar
      CMake Nightly Date Stamp · 9183056e
      Kitware Robot authored
      9183056e
  9. 08 May, 2016 1 commit
  10. 07 May, 2016 1 commit
  11. 06 May, 2016 5 commits
    • Brad King's avatar
      Help clang-format wrap after braces on long initializer lists · afca3735
      Brad King authored
      Add a long comment inside a few braced initializer lists in order to
      convince clang-format to break after the opening brace and format the
      list without indenting every value past the opening brace.
      afca3735
    • Brad King's avatar
      Move comments off of class access specifier lines · 85425a3e
      Brad King authored
      The clang-format tool may turn this:
      
         public: // comment about access specifier
      
           // unrelated comment indented with code
           ...
      
      Into:
      
         public: // comment about access specifier
      
                 // unrelated comment indented with code
           ...
      
      Avoid this by moving comments off of access specifier lines.
      85425a3e
    • Brad King's avatar
      Isolate formatted streaming blocks with clang-format off/on · 64b55203
      Brad King authored
      The clang-format tool can do a good job formatting most code, but
      well-organized streaming blocks are best left manually formatted.
      
      Find blocks of the form
      
          os <<
            "...\n"
            "...\n"
            ;
      
      using the command
      
          $ git ls-files -z -- Source |
            egrep -v -z '^Source/kwsys/' |
            xargs -0 pcregrep -M --color=always -B 1 -A 1 -n \
              '<<[^\n]*\n(^ *("[^\n]*("|<<|;)$|;)\n){2,}'
      
      Find blocks of the form
      
          os << "...\n"
             << "...\n"
             << "...\n";
      
      using the command
      
          $ git ls-files -z -- Source |
            egrep -v -z '^Source/kwsys/' |
            xargs -0 pcregrep -M --color=always -B 1 -A 1 -n \
              '<<[^\n]*\n(^ *<<[^\n]*(\\n"|<<|;)$\n){2,}'
      
      Surround such blocks with the pair
      
          /* clang-format off */
          ...
          /* clang-format on */
      
      in order to protect them from update by clang-format.  Use the C-style
      `/*...*/` comments instead of C++-style `//...` comments in order to
      prevent them from ever being swallowed by re-formatting of surrounding
      comments.
      64b55203
    • geoffviola's avatar
      GHS: Shorten long object paths with duplicate source names · 5e428713
      geoffviola authored and Brad King's avatar Brad King committed
      Detect when the resulting object path is too long and compute an
      alternative name using a hash.
      5e428713
    • Kitware Robot's avatar
      CMake Nightly Date Stamp · eb27154f
      Kitware Robot authored
      eb27154f
  12. 05 May, 2016 2 commits
  13. 04 May, 2016 1 commit
  14. 03 May, 2016 4 commits
    • Brad King's avatar
      Source: Sort includes the way clang-format would · 54f71cd7
      Brad King authored
      Re-apply the approach from commit e1c77472 (Format include directive
      blocks and ordering with clang-format, 2016-04-29) but this time be
      more careful about exclusion of parser generator sources:
      
          $ git ls-files -z -- \
              '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' |
            egrep -z -v '^Source/cmCommandArgumentLexer\.' |
            egrep -z -v '^Source/cmCommandArgumentParser\.' |
            egrep -z -v '^Source/cmDependsJavaLexer\.' |
            egrep -z -v '^Source/cmDependsJavaParser\.' |
            egrep -z -v '^Source/cmExprLexer\.' |
            egrep -z -v '^Source/cmExprParser\.' |
            egrep -z -v '^Source/cmFortranLexer\.' |
            egrep -z -v '^Source/cmFortranParser\.' |
            egrep -z -v '^Source/cmListFileLexer\.' |
            egrep -z -v '^Source/cm_sha2' |
            egrep -z -v '^Source/(kwsys|CursesDialog/form)/' |
            egrep -z -v '^Utilities/(KW|cm).*/' |
            egrep -z -v '^Tests/Module/GenerateExportHeader' |
            egrep -z -v '^Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h' |
            xargs -0 clang-format -i
      
      Also drop use of custom sorting for `sys/types.h`.
      54f71cd7
    • Brad King's avatar
      Source: Sort includes of sys/types.h as clang-format would · 7b6ffa59
      Brad King authored
      When this header is included in blocks where order does not matter, just
      place it in lexicographic order as clang-format would by default.
      7b6ffa59
    • Brad King's avatar
      Source: Stabilize include order of sys/types.h before sys/stat.h · be14fe48
      Brad King authored
      Include the two headers in an isolated block with a comment separating
      them so that tools that re-order includes do not re-order these.
      be14fe48
    • Kitware Robot's avatar
      CMake Nightly Date Stamp · 4d59471a
      Kitware Robot authored
      4d59471a
  15. 02 May, 2016 4 commits
  16. 01 May, 2016 1 commit