1. 23 Jun, 2016 1 commit
  2. 17 Jun, 2016 1 commit
  3. 10 Jun, 2016 1 commit
  4. 02 Jun, 2016 1 commit
    • Daniel Pfeifer's avatar
      Simplify boolean expressions · 7f6b8d33
      Daniel Pfeifer authored
      Use clang-tidy's readability-simplify-boolean-expr checker.
      After applying the fix-its, revise all changes *very* carefully.
      Be aware of false positives and invalid changes.
      7f6b8d33
  5. 25 May, 2016 1 commit
    • Daniel Pfeifer's avatar
      Use enums defined in cmOutputConverter using their fully qualified name. · 25d1ef64
      Daniel Pfeifer authored
      Mostly automated:
      
      values=("RelativeRoot" "NONE" "FULL" "HOME" "START" "HOME_OUTPUT" "START_OUTPUT"
              "OutputFormat" "UNCHANGED" "MAKERULE" "SHELL" "WATCOMQUOTE" "RESPONSE"
              "FortranFormat" "FortranFormatNone" "FortranFormatFixed" "FortranFormatFree")
      for i in "${values[@]}"; do git grep -l cmLocalGenerator::$i | xargs sed -i "s|cmLocalGenerator::$i|cmOutputConverter::$i|g"; done
      25d1ef64
  6. 24 May, 2016 1 commit
    • Daniel Pfeifer's avatar
      Use std::replace for replacing chars in strings. · 5cec953e
      Daniel Pfeifer authored
      Find uses of `cmSystemTools::ReplaceString` where both `replace` and
      `with` are string literals with a size of one.
      
      Automate with:
      
      git grep -l ReplaceString | xargs sed -i "s|cmSystemTools::ReplaceString(\([^,]*\), \"\(.\)\", \"\(.\)\");|std::replace(\1.begin(), \1.end(), '\2', '\3');|g"
      git grep -l ReplaceString | xargs sed -i "s|cmSystemTools::ReplaceString(\([^,]*\), \"\(.\)\", \"\\\\\\\\\");|std::replace(\1.begin(), \1.end(), '\2', '\\\\\\\\');|g"
      git grep -l ReplaceString | xargs sed -i "s|cmSystemTools::ReplaceString(\([^,]*\), \"\\\\\\\\\", \"\(.\)\");|std::replace(\1.begin(), \1.end(), '\\\\\\\\', '\2');|g"
      5cec953e
  7. 17 May, 2016 2 commits
  8. 16 May, 2016 1 commit
    • Kitware Robot's avatar
      Revise C++ coding style using clang-format · d9fd2f54
      Kitware Robot authored
      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
  9. 09 May, 2016 1 commit
    • 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
  10. 29 Apr, 2016 2 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 '^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
      
      This selects source files that do not come from a third-party.
      Inspired-by: Daniel Pfeifer's avatarDaniel Pfeifer <daniel@pfeifer-mail.de>
      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
  11. 13 Apr, 2016 1 commit
  12. 07 Apr, 2016 2 commits
  13. 04 Nov, 2015 1 commit
    • Tim Grothe's avatar
      Refactor `.def` file lookup · 247c168b
      Tim Grothe authored
      Return a `cmSourceFile const*` from GetModuleDefinitionFile so that
      callers can get more information than just the path to the file.
      247c168b
  14. 24 Oct, 2015 1 commit
  15. 20 Oct, 2015 1 commit
  16. 17 Oct, 2015 3 commits
  17. 14 Oct, 2015 5 commits
  18. 12 Oct, 2015 1 commit
  19. 10 Oct, 2015 1 commit
  20. 08 Oct, 2015 3 commits
  21. 25 Sep, 2015 1 commit
    • Brad King's avatar
      Ninja: Centralize path conversion in global generator (#15757) · 6e2a4087
      Brad King authored
      In the Ninja generator we run all build rules from the top of the build
      tree rather than changing into each subdirectory.  Therefore we convert
      all paths relative to the HOME_OUTPUT directory.  However, the Convert
      method on cmLocalGenerator restricts relative path conversions to avoid
      leaving the build tree with a "../" sequence.  Therefore conversions
      performed for "subdirectories" that are outside the top of the build
      tree always use full paths while conversions performed for
      subdirectories that are inside the top of the build tree may use
      relative paths to refer to the same files.
      
      Since Ninja always runs rules from the top of the build tree we should
      convert them using only the top-level cmLocalGenerator in order to
      remain consistent.  Also extend the test suite with a case that fails
      without this fix.
      6e2a4087
  22. 18 Sep, 2015 1 commit
  23. 17 Sep, 2015 1 commit
  24. 05 Aug, 2015 5 commits
  25. 29 Jul, 2015 1 commit
    • Brad King's avatar
      cmCommonTargetGenerator: Store working directory for relative paths · 70c21301
      Brad King authored
      The Makefile generators run tools with the current working directory set
      to the subdirectory of the build tree for the each target.  The Ninja
      generator runs tools with the current working directory set to the top
      of the build tree.  Tell cmCommonTargetGenerator where the working
      directory will be so it can compute proper relative paths.
      70c21301