1. 16 Sep, 2019 1 commit
  2. 23 Aug, 2019 1 commit
  3. 22 Aug, 2019 1 commit
    • Sebastian Holtermann's avatar
      Source sweep: Use cmStrCat for string concatenation · 9b334397
      Sebastian Holtermann authored
      This patch is generated by a python script that uses regular expressions to
      search for string concatenation patterns of the kind
      
      ```
      std::string str = <ARG0>;
      str += <ARG1>;
      str += <ARG2>;
      ...
      ```
      
      and replaces them with a single `cmStrCat` call
      
      ```
      std::string str = cmStrCat(<ARG0>, <ARG1>, <ARG2>, ...);
      ```
      
      If any `<ARGX>` is itself a concatenated string of the kind
      
      ```
      a + b + c + ...;
      ```
      
      then `<ARGX>` is split into multiple arguments for the `cmStrCat` call.
      
      If there's a sequence of literals in the `<ARGX>`, then all literals in the
      sequence are concatenated and merged into a single literal argument for
      the `cmStrCat` call.
      
      Single character strings are converted to single char arguments for
      the `cmStrCat` call.
      
      `std::to_string(...)` wrappings are removed from `cmStrCat` arguments,
      because it supports numeric types as well as string types.
      
      `arg.substr(x)` arguments to `cmStrCat` are replaced with
      `cm::string_view(arg).substr(x)`
      9b334397
  4. 17 Aug, 2019 1 commit
  5. 14 Aug, 2019 1 commit
  6. 19 Mar, 2019 1 commit
    • Brad King's avatar
      Replace use of CollapseCombinedPath with CollapseFullPath · a13a5c94
      Brad King authored
      `CollapseCombinedPath` was introduced by commit 551d3343 (cmDependsC:
      Collapse relative include paths, 2013-06-19, v2.8.12~237^2) where the
      existing `CollapseFullPath` should have been used instead.  Then its use
      proliferated slightly.  Since `CollapseCombinedPath` is less widely used
      and less robust (see issue #19049), use `CollapseFullPath` everywhere
      instead.
      
      Issue: #19050
      a13a5c94
  7. 25 Jan, 2019 1 commit
    • wahikihiki's avatar
      clang-tidy: Use `= default` · 55671b41
      wahikihiki authored
      Suppress some cases in `Source/cmGeneratorExpressionNode.cxx` and
      `Source/cmUVHandlePtr.h` where a few older compilers require a
      user-defined default constructor (with `{}`).
      55671b41
  8. 22 Jan, 2019 1 commit
  9. 28 Nov, 2018 1 commit
  10. 21 Sep, 2018 1 commit
  11. 07 Aug, 2018 1 commit
    • Sebastian Holtermann's avatar
      cmGeneratedFileStream: clang-tidy applied to remove redundant ``c_str`` calls · b6802cd5
      Sebastian Holtermann authored
      After changing the ``cmGeneratedFileStream`` methods to accept
      ``std::string const&`` instead of ``const char*`` we don't
      need to call ``std::string::c_str`` anymore when passing
      a ``std::string`` to a ``cmGeneratedFileStream`` method.
      
      This patch removes all redundant ``std::string::c_str``
      calls when passing a string to a ``cmGeneratedFileStream`` method.
      
      It was generated by building CMake with clang-tidy enabled using
      the following options:
      
      -DCMAKE_CXX_CLANG_TIDY=/usr/bin/clang-tidy-4.0;-checks=-*,readability-redundant-string-cstr;-fix;-fix-errors
      b6802cd5
  12. 02 Jul, 2018 1 commit
  13. 21 Jun, 2018 1 commit
    • Kyle Edwards's avatar
      CPack: Move internal implementation modules into Internal/CPack directory · 48bc8b2b
      Kyle Edwards authored
      These modules are not meant to be included by user code, they are
      only an internal implementation detail for CPack. Having them live
      in the main Modules directory with documentation was misleading, so
      they have been moved into Modules/Internal/CPack, and their
      documentation has been stripped following its move into the new
      "CPack Generators" section. No-op modules which contained only
      documentation have been removed entirely.
      
      The only module that hasn't been moved is CPackIFW, because it
      contains user-facing macros which would be lost if it were moved.
      So, the CPackIFW module has been updated with a note explaining what
      needs to (eventually) happen.
      48bc8b2b
  14. 01 Jun, 2018 1 commit
    • Kitware Robot's avatar
      Revise C++ coding style using clang-format-6.0 · d7204e64
      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.
      d7204e64
  15. 26 Jan, 2018 1 commit
  16. 19 Sep, 2017 1 commit
  17. 15 Sep, 2017 1 commit
  18. 25 Aug, 2017 1 commit
  19. 24 Aug, 2017 1 commit
  20. 14 Jul, 2017 1 commit
  21. 28 Jun, 2017 1 commit
  22. 11 Apr, 2017 1 commit
    • Daniel Pfeifer's avatar
      Use quotes for non-system includes · 1d829c86
      Daniel Pfeifer authored
      Automate with:
      
      git grep -l '#include <cm_' -- Source \
        | xargs sed -i 's/#include <\(cm_.*\)>/#include "\1"/g'
      
      git grep -l '#include <cmsys/' -- Source \
        | xargs sed -i 's/#include <\(cmsys\/.*\)>/#include "\1"/g'
      
      git grep -l '#include <cm[A-Z]' -- Source \
        | xargs sed -i 's/#include <\(cm[A-Z].*\)>/#include "\1"/g'
      1d829c86
  23. 24 Mar, 2017 1 commit
  24. 23 Dec, 2016 1 commit
    • Domen Vrankar's avatar
      CPack/Deb invalid md5sums file fix · 6daa2d38
      Domen Vrankar authored
      Monolithic deb packages were packaged
      with invalid md5sums file as trailing
      slash in path was causing string replace
      to fail and preserve build path.
      
      Fixes #16517
      6daa2d38
  25. 27 Sep, 2016 1 commit
    • Brad King's avatar
      Simplify CMake per-source license notices · 86578ecc
      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 CMake per-source copyright/license notice headers with a short
      description of the license and lin...
      86578ecc
  26. 06 Sep, 2016 1 commit
  27. 05 Sep, 2016 1 commit
  28. 18 Aug, 2016 1 commit
  29. 28 Jun, 2016 1 commit
  30. 10 Jun, 2016 1 commit
  31. 07 Jun, 2016 1 commit
  32. 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
  33. 26 May, 2016 1 commit
    • Daniel Pfeifer's avatar
      Pass arguments that are not modified as const&. · 618fb23f
      Daniel Pfeifer authored
      Use clang-tidy's performance-unnecessary-value-param checker to find
      value parameter declarations of expensive to copy types that are not
      modified inside the function.  Ignore findings in kwsys.
      After applying the fix-its, manually change `const T&` to `T const&`.
      618fb23f
  34. 23 May, 2016 1 commit
    • Domen Vrankar's avatar
      CPack/Deb possibility to change package name · adbd3985
      Domen Vrankar authored
      This patch preserves backward compatibility of
      deb package names with previous CMake versions
      but similarly to CPack/RPM allows to change
      package name format and supports DEB-DEFAULT
      setting that produces proper Debian package names.
      adbd3985
  35. 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
  36. 13 May, 2016 4 commits
  37. 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