1. 18 Jan, 2019 1 commit
  2. 17 Jan, 2019 1 commit
  3. 25 Sep, 2018 1 commit
    • Brad King's avatar
      ctest: Fix generator platform under --build-nocmake · 6597428c
      Brad King authored
      When constructing a global generator instance in `--build-and-test` mode
      we need to set the platform passed by `--build-generator-platform`
      directly on the generator.  The old code that set it on the `cmake`
      class instance did nothing because that only affects cache
      initialization, which is not done by `--build-nocmake`.
      6597428c
  4. 25 May, 2018 1 commit
  5. 08 Mar, 2018 1 commit
  6. 31 Jan, 2018 1 commit
    • Pavel Solodovnikov's avatar
      Reduce raw string pointers usage. · 653b8946
      Pavel Solodovnikov authored
      * Change some functions to take `std::string` instead of
        `const char*` in the following classes: `cmMakeFile`, `cmake`,
        `cmCoreTryCompile`, `cmSystemTools`,  `cmState`, `cmLocalGenerator`
        and a few others.
      * Greatly reduce using of `const char*` overloads for
        `cmSystemTools::MakeDirectory` and `cmSystemTools::RelativePath`.
      * Remove many redundant `c_str()` conversions throughout the code.
      653b8946
  7. 26 Jan, 2018 1 commit
  8. 23 Jan, 2018 2 commits
    • Wouter Klouwen's avatar
      Make use of std::chrono throughout every component · e6a80ccf
      Wouter Klouwen authored
      This commit continues the changes made in CTest to support std::chrono
      by
      applying it throughout every component where a duration was used.
      
      No functional change intended.
      e6a80ccf
    • Wouter Klouwen's avatar
      CTest: introduce cmDuration · 695951bc
      Wouter Klouwen authored and Brad King's avatar Brad King committed
      This commit introduces cmDuration as a typedef for
      std::chrono::duration<double, std::ratio<1>>. It is less verbose and
      provides for a point to put future common functionality for durations.
      
      No functional change intended.
      695951bc
  9. 08 Dec, 2017 1 commit
  10. 04 Dec, 2017 1 commit
    • Wouter Klouwen's avatar
      CTest: convert timeouts to std::chrono::duration · 66419bc0
      Wouter Klouwen authored and Brad King's avatar Brad King committed
      This commit continues the refactoring of CTest to adopt std::chrono.
      After the last sets of changes that introduced std::chrono::steady_clock
      and std::chrono::system_clock respectively, it makes sense to have all
      the timeouts be stored as std::chrono::duration.
      
      No functional change intended.
      66419bc0
  11. 14 Nov, 2017 1 commit
    • Wouter Klouwen's avatar
      CTest: use std::chrono::steady_clock for time keeping · e8a4036e
      Wouter Klouwen authored
      It was reported in issue #17345 that CTest does not use monotonic time
      to report test duration. Monotonic clocks are not affected by large NTP
      adjustments or things like daylight savings time.
      
      As CMake 3.10 requires C++11, which introduced std::chrono, this commit
      moves the time keeping in CTest from cmSystemTools::GetTime() to
      std::chrono::steady_clock.
      
      Fixes: #17345
      e8a4036e
  12. 15 Sep, 2017 1 commit
  13. 14 Sep, 2017 1 commit
  14. 01 Sep, 2017 1 commit
  15. 27 Aug, 2017 1 commit
  16. 24 Aug, 2017 1 commit
  17. 08 May, 2017 1 commit
  18. 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
  19. 06 Mar, 2017 1 commit
    • Ben Boeckel's avatar
      cmWorkingDirectory: use the new class · aba92ffd
      Ben Boeckel authored and Brad King's avatar Brad King committed
      These functions just need to change the directory for a block of code
      and then go back to the caller's expected location. Use
      cmWorkingDirectory to ensure that all return paths are handled.
      aba92ffd
  20. 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 links to `Copyright.txt` and online information
      available from "https://cmake.org/licensing".  The online URL also handles
      cases of modules being copied out of our source into other projects, so we
      can drop our notices about replacing links with full license text.
      
      Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority
      of the replacements mechanically.  Manually fix up shebang lines and trailing
      newlines in a few files.  Manually update the notices in a few files that the
      script does not handle.
      86578ecc
  21. 25 Aug, 2016 1 commit
  22. 16 Aug, 2016 1 commit
  23. 28 Jun, 2016 1 commit
  24. 06 Jun, 2016 1 commit
  25. 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
  26. 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
  27. 29 Apr, 2016 1 commit
    • 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
  28. 16 May, 2015 1 commit
    • Stephen Kelly's avatar
      cmState: Compute and store directory components. · 57bdc1a2
      Stephen Kelly authored
      There is no need to duplicate these in all cmLocalGenerators.
      
      Rename the symbols according to current conventions.
      
      Add explicit calls to Set{Source,Binary}Directory with empty strings
      in order to trigger the population of the components containers with
      the current working directory in cmLocalGenerator.  Having
      directories set to empty is a special case in CMake, which is relied
      on for the `if(CMAKE_BINARY_DIR)` condition at the end of
      CMakeDetermineSystem.cmake.
      57bdc1a2
  29. 07 Apr, 2015 2 commits
  30. 06 Apr, 2015 1 commit
  31. 26 Feb, 2015 1 commit
  32. 17 Feb, 2015 1 commit
  33. 18 Jan, 2015 4 commits
  34. 11 Jan, 2015 1 commit
  35. 15 Oct, 2014 1 commit