1. 22 Jan, 2019 1 commit
  2. 20 Jan, 2019 1 commit
  3. 19 Jan, 2019 1 commit
  4. 15 Dec, 2018 1 commit
  5. 18 Sep, 2018 1 commit
  6. 08 Mar, 2018 1 commit
    • Craig Scott's avatar
      cmDepends: Remove attempt to change directory that always fails · 59016996
      Craig Scott authored
      Nothing ever set `CompileDirectory` except `SetDirectory()`, but
      nothing ever called that function. Therefore, `CompileDirectory`
      was always empty for the attempt to change directory in `Check()`,
      which therefore would always fail. Nothing was checking the result
      and the code was always going to have no effect.
      59016996
  7. 12 Sep, 2017 1 commit
  8. 30 Aug, 2017 1 commit
  9. 24 Aug, 2017 1 commit
  10. 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
  11. 06 Mar, 2017 1 commit
    • Ben Boeckel's avatar
      cmWorkingDirectory: use the new class · aba92ffd
      Ben Boeckel authored
      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
  12. 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
  13. 03 Sep, 2016 1 commit
  14. 16 Aug, 2016 1 commit
  15. 28 Jun, 2016 1 commit
  16. 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
  17. 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
  18. 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
  19. 11 Jan, 2015 1 commit
  20. 15 Oct, 2014 1 commit
  21. 22 Jul, 2014 2 commits
    • Brad King's avatar
      cmDepends: Refactor object file path conversion · 85cea8a7
      Brad King authored
      Delay conversion of the path to object files (on the left-hand side
      of dependencies) until just before they are written.  Also do not
      convert the format of paths written to the 'depend.internal' file.
      This is consistent with the way the right-hand side of dependencies
      are already handled.
      85cea8a7
    • Brad King's avatar
      cmLocalGenerator: Rename 'MAKEFILE' to 'MAKERULE' · 9f92a78b
      Brad King authored
      Rename the internal enumeration value for converting paths destined
      for use in Makefile rule syntax.
      9f92a78b
  22. 11 Mar, 2014 1 commit
    • Stephen Kelly's avatar
      Remove some c_str() calls. · 21c573f6
      Stephen Kelly authored
      Use the clang RemoveCStrCalls tool to automatically migrate the
      code. This was only run on linux, so does not have any positive or
      negative effect on other platforms.
      21c573f6
  23. 08 Mar, 2014 1 commit
  24. 07 Jan, 2014 1 commit
  25. 06 Nov, 2012 2 commits
    • Michael Wild's avatar
      cmDepends: No dependency-vector erasure in CheckDependencies · c66f03ad
      Michael Wild authored
      Some dependency-generators (such as cmDependsFortran) generate multiple
      entries per depender, so erasing the dependency vector for each depender
      found loses earlier dependencies.
      Signed-off-by: default avatarMichael Wild <themiwi@users.sourceforge.net>
      c66f03ad
    • Alexander Neundorf's avatar
      cmDepends: allow multiple dependees per depender · e74ff7c2
      Alexander Neundorf authored
      This patch is heavily inspired by Michael Wild.
      
      The interfaces cmDepends::Write and cmDepends::WriteDependencies where
      extended to allow multiple dependees (sources) per depender (object).
      cmDepends::Write first collect all dependencies into a std::set before
      passing it to cmDepends::WriteDependencies.
      
      cmDependsC::WriteDependencies also first collects all explicit and
      implicit dependencies into a std::set and only then writes
      depend.{internal,make}. The implementation of cmDependsFortran simply
      loops over all sources and proceeds as before, whereas the cmDependsJava
      implementation is as trivial as before.
      
      This is for preventing exponential growth of depend.{internal,make} in
      the next commit which fixes dependency-vector erasure in
      cmDepends::CheckDependencies.
      Inspired-by: default avatarMichael Wild <themiwi@users.sourceforge.net>
      e74ff7c2
  26. 20 Aug, 2012 1 commit
  27. 17 Aug, 2012 1 commit
  28. 13 Aug, 2012 1 commit
    • Kitware Robot's avatar
      Remove trailing whitespace from most CMake and C/C++ code · 7bbaa428
      Kitware Robot authored
      Our Git commit hooks disallow modification or addition of lines with
      trailing whitespace.  Wipe out all remnants of trailing whitespace
      everywhere except third-party code.
      
      Run the following shell code:
      
      git ls-files -z -- \
       bootstrap doxygen.config '*.readme' \
       '*.c' '*.cmake' '*.cpp' '*.cxx' \
       '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \
       '*.mm' '*.pike' '*.py' '*.txt' '*.vim' |
      egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' |
      egrep -z -v '^(Modules/CPack\..*\.in)' |
      xargs -0 sed -i 's/ \+$//'
      7bbaa428
  29. 22 Feb, 2012 3 commits
  30. 16 Dec, 2010 1 commit
  31. 01 Oct, 2009 1 commit
  32. 28 Sep, 2009 1 commit
    • Brad King's avatar
      Convert CMake to OSI-approved BSD License · 96afb120
      Brad King authored
      This converts the CMake license to a pure 3-clause OSI-approved BSD
      License.  We drop the previous license clause requiring modified
      versions to be plainly marked.  We also update the CMake copyright to
      cover the full development time range.
      96afb120
  33. 23 Sep, 2009 1 commit
    • Alexander Neundorf's avatar
      Major optimization of C/C++ dependency scanning. · 39383ef8
      Alexander Neundorf authored
      Now only the dependencies for the file where the dependencies actually may
      have changed are rescanned, before that this was done for all source files
      even if only one source file had changed.
      This reduces e.g. on my machine the time for scanning the dependencies
      of kdelibs/khtml/ when only one file (khtml_global.cpp) has changed from
      around 7.5 seconds to 1.2 seconds.
      
      The tests succeed, it does what I expected it to do on kdelibs, and Brad
      also reviewed the patch, so I think it should be ok.
      
      Alex
      39383ef8
  34. 19 Sep, 2009 1 commit
    • Alexander Neundorf's avatar
      Minor optimization in dependency checking. · 864e2670
      Alexander Neundorf authored
      When reading the depend.internal file, check only once for every depender
      whether it exists, instead of repeatedly in a loop for each dependee. Within
      that function it can only change of the depender is removed. This is taken
      care of.
      This reduces the number of access() calls in kdelibs/khtml from 180000 to
      90000 (i.e. 50%), and reduces the time for that (without the actual
      scanning) from 0.3 s to 0.21 s on my system.
      
      Alex
      864e2670
  35. 08 May, 2008 1 commit
  36. 28 Dec, 2007 1 commit
    • Brad King's avatar
      ENH: Implement Fortran module dependencies across targets and directories. · 68dad94b
      Brad King authored
        - See issue #5809
        - Keep information about all sources in the target until deps are written
        - Create a fortran.internal file after scanning that lists modules provided
        - Load fortran.internal files from linked targets to find modules
        - Search the include path for external modules
        - Create file-level deps on in-project module timestamps or external mods
      68dad94b