1. 09 May, 2016 3 commits
    • 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
  2. 08 May, 2016 1 commit
  3. 07 May, 2016 1 commit
  4. 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
  5. 05 May, 2016 2 commits
  6. 04 May, 2016 1 commit
  7. 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
  8. 02 May, 2016 4 commits
  9. 01 May, 2016 1 commit
  10. 30 Apr, 2016 1 commit
  11. 29 Apr, 2016 4 commits
    • Brad King's avatar
      Format include directive blocks and ordering with clang-format · e1c77472
      Brad King authored
      Sort include directives within each block (separated by a blank line) in
      lexicographic order (except to prioritize `sys/types.h` first).  First
      run `clang-format` with the config file:
      
          ---
          SortIncludes: false
          ...
      
      Commit the result temporarily.  Then run `clang-format` again with:
      
          ---
          SortIncludes: true
          IncludeCategories:
            - Regex:    'sys/types.h'
              Priority: -1
          ...
      
      Commit the result temporarily.  Start a new branch and cherry-pick the
      second commit.  Manually resolve conflicts to preserve indentation of
      re-ordered includes.  This cleans up the include ordering without
      changing any other style.
      
      Use the following command to run `clang-format`:
      
          $ git ls-files -z -- \
              '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' |
            egrep -z -v '(Lexer|Parser|ParserHelper)\.' |
            egrep -z -v '^Source/cm_sha2' |
            egrep -z -v '^Source/(kwsys|CursesDialog/form)/' |
            egrep -z -v '...
      e1c77472
    • Brad King's avatar
      Source: Stabilize include order · 180538c7
      Brad King authored
      Each source file has a logical first include file.  Include it in an
      isolated block so that tools that sort includes do not move them.
      180538c7
    • Daniel Pfeifer's avatar
      CursesDialog: add missing cmState include · 7110b754
      Daniel Pfeifer authored and Brad King's avatar Brad King committed
      7110b754
    • Kitware Robot's avatar
      CMake Nightly Date Stamp · aa304cbe
      Kitware Robot authored
      aa304cbe
  12. 28 Apr, 2016 3 commits
  13. 27 Apr, 2016 2 commits
    • Daniel Pfeifer's avatar
      Clang-Tidy: copy stdout to sterr; ignore original stderr · 04d74a7f
      Daniel Pfeifer authored and Brad King's avatar Brad King committed
      Clang-Tidy writes the number of warnings, the number of suppressed
      warnings, and instructions on how to suppress warnings to stderr.  Since
      each source file is checked individually, this repetitive information is
      disturbing and should be suppressed.
      
      The actual warning messages are written to stdout.  Some IDEs (eg.
      QtCreator) analyze only stderr for issues.  Redirecting Clang-Tidy's
      stdout to stderr makes sure the warnings are correctly displayed.
      04d74a7f
    • Kitware Robot's avatar
      CMake Nightly Date Stamp · a594b79b
      Kitware Robot authored
      a594b79b
  14. 26 Apr, 2016 3 commits
  15. 25 Apr, 2016 4 commits
  16. 24 Apr, 2016 1 commit