1. 23 Feb, 2021 1 commit
  2. 02 Sep, 2020 1 commit
  3. 13 Apr, 2020 1 commit
    • Justin Goshi's avatar
      Add support to indicate UTF-8 custom command pipe output encoding · bc877a7e
      Justin Goshi authored
      Adds a flag to indicate that pipe output from a custom command should be
      interpreted as UTF-8 encoded. This change does not introduce a public
      way to set the flag, but generators that create internally-generated
      commands know if they are calling cmake, which uses UTF-8 pipes.
      
      MSBuild added support for interpreting output of PreBuildEvent,
      PreLinkEvent, PostBuildEvent, and CustomBuildStep as UTF-8. This change
      will appear in Visual Studio 16.6 Preview 3. It is opt-in, and you need
      to add the StdOutEncoding tag. MSBuild treats these as property bags so
      if we emit the tag for earlier versions of Visual Studio it would be
      safely ignored. This change emits the StdOutEncoding tag and sets it to
      UTF-8 whenever the custom command UTF-8 pipe flag is set. This fixes
      globalization issues when the output from cmake contained characters
      that required MSBuild to interpret as UTF-8 before displaying them.
      bc877a7e
  4. 24 Mar, 2020 1 commit
  5. 24 Nov, 2019 1 commit
  6. 01 Oct, 2019 1 commit
  7. 16 Sep, 2019 1 commit
  8. 23 Mar, 2019 1 commit
  9. 27 Jan, 2019 1 commit
  10. 21 Dec, 2017 1 commit
  11. 25 Sep, 2017 1 commit
  12. 15 Sep, 2017 1 commit
  13. 04 Sep, 2017 1 commit
  14. 20 Apr, 2017 2 commits
  15. 19 Oct, 2016 1 commit
  16. 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
  17. 19 Sep, 2016 1 commit
  18. 03 Sep, 2016 1 commit
  19. 27 Aug, 2016 3 commits
  20. 29 Jun, 2016 1 commit
    • Brad King's avatar
      Avoid using KWSys auto_ptr by adopting it ourselves · b5ec5b09
      Brad King authored
      Replace use of cmsys::auto_ptr with a CM_AUTO_PTR macro that maps to
      our own implementation adopted from the KWSys auto_ptr implementation.
      Later we may be able to map CM_AUTO_PTR to std::auto_ptr on compilers
      that do not warn about it.
      
      Automate the client site conversions:
      
          git grep -l auto_ptr -- Source/ | grep -v Source/kwsys/ | xargs sed -i \
            's|cmsys::auto_ptr|CM_AUTO_PTR|;s|cmsys/auto_ptr.hxx|cm_auto_ptr.hxx|'
      b5ec5b09
  21. 16 May, 2016 1 commit
    • 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
  22. 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
  23. 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
  24. 24 Oct, 2015 2 commits
  25. 14 Oct, 2015 1 commit
    • Stephen Kelly's avatar
      cmState: Move TargetType enum from cmTarget. · eac15298
      Stephen Kelly authored
      Mostly automated:
      
       values=( "EXECUTABLE" "STATIC_LIBRARY" "SHARED_LIBRARY" "MODULE_LIBRARY" "OBJECT_LIBRARY" "UTILITY" "GLOBAL_TARGET" "INTERFACE_LIBRARY" "UNKNOWN_LIBRARY" "TargetType")
       for i in "${values[@]}"; do     git grep -l cmTarget::$i | xargs sed -i "s|cmTarget::$i|cmState::$i|g"; done
      eac15298
  26. 08 Oct, 2015 1 commit
  27. 28 Aug, 2015 2 commits
  28. 18 Aug, 2015 1 commit
    • Bastien Schatt's avatar
      cmLocalVisualStudioGenerator: Use computed .obj extension (#13685) · 3e94f94b
      Bastien Schatt authored and Brad King's avatar Brad King committed
      CMAKE_<LANG>_OUTPUT_EXTENSION tells us the proper extension for the
      current toolchain.  Teach the ComputeObjectFilenames method to use
      GetLanguageOutputExtension to look up the extension instead of
      hard-coding ".obj".  This is already done in the code path for explicit
      file names inside our call to GetObjectFileNameWithoutTarget.
      3e94f94b
  29. 27 May, 2015 1 commit
    • Stephen Kelly's avatar
      cmLocalGenerator: Require a valid cmState::Snapshot in the ctor. · 3b880a07
      Stephen Kelly authored and Brad King's avatar Brad King committed
      Refactor the local generator creation API to accept a
      cmState::Snapshot.  Adjust MakeLocalGenerator to use the 'current'
      snapshot in cases where there is no parent.  Create the snapshot
      for subdirectories in cmMakefile::AddSubdirectory.
      
      This means that snapshots are now created at the point of extending the tree,
      as appropriate, and independently of the cmLocalGenerator and cmMakefile they
      represent the state for.
      3b880a07
  30. 20 May, 2015 1 commit
  31. 19 May, 2015 1 commit
  32. 14 May, 2015 2 commits
  33. 28 Apr, 2015 1 commit