1. 27 Jun, 2018 2 commits
  2. 19 Jun, 2018 1 commit
  3. 02 Apr, 2018 1 commit
  4. 19 Apr, 2017 1 commit
  5. 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
  6. 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
  7. 09 Mar, 2016 1 commit
    • Brad King's avatar
      Drop Visual Studio 6 generator · b42866a3
      Brad King authored
      This generator has been deprecated since CMake 3.3.  Remove it.
      Update documentation, modules, and tests to drop content specific
      to this generator.
      b42866a3
  8. 05 Aug, 2015 1 commit
  9. 22 Jul, 2015 1 commit
    • Brad King's avatar
      Tests: Extend BuildDepends test to cover OBJECT_DEPENDS · 783c3757
      Brad King authored
      The actual file timestamp dependency is known to not work on
      Visual Studio or Xcode generators.  Tolerate such failure for
      these generators (Tests/CustomCommand already covers using
      OBJECT_DEPENDS to pull a custom command into a target, and
      that still works with these generators).
      783c3757
  10. 10 Apr, 2015 1 commit
    • Brad King's avatar
      Makefile: Fix multiple custom command outputs with one missing · 9660a3cc
      Brad King authored
      The use of "cmake -E touch_nocreate" added in commit v3.2.1~4^2
      (Makefile: Fix multiple custom command outputs regression, 2015-03-06)
      caused builds to fail when one of the outputs is intentionally not
      created.  This was fixed by our parent commit by making touch_nocreate
      succeed when the file is missing.  Add a test case covering it.
      
      For the Watcom WMake generator, check for the SYMBOLIC source file
      property separately on each output.  The mark is needed on outputs that
      are not really created to tell 'wmake' not to complain that it is
      missing.  The mark is also needed on outputs that are created or 'wmake'
      will not consider them out of date when they exist.
      Inspired-by: Ben Boeckel's avatarBen Boeckel <ben.boeckel@kitware.com>
      9660a3cc
  11. 05 Dec, 2014 1 commit
    • Brad King's avatar
      Tests: Cover rebuild with multiple custom command outputs (#15116) · 65ea5eb7
      Brad King authored
      Extend the BuildDepends test with a case covering multiple custom
      command outputs with the second one consumed by another rule.  With the
      old "multiple output pair" infrastructure used in the Makefile and Xcode
      generators this did not work.  Now that it is fixed, test the case
      explicitly.
      65ea5eb7
  12. 14 Nov, 2014 1 commit
  13. 19 May, 2014 1 commit
  14. 21 Feb, 2014 1 commit
  15. 08 Oct, 2013 1 commit
  16. 02 Oct, 2013 2 commits
    • Brad King's avatar
      Xcode: Teach Tests/BuildDepends to allow LINK_DEPENDS_NO_SHARED failure · 11803224
      Brad King authored
      Xcode 5.0 now relinks targets when their shared libraries dependencies
      are modified, and there seems to be no way to stop it.  Report this as a
      known limitation in the test output and do not fail.
      11803224
    • Brad King's avatar
      Xcode: Fix test architecture selection for Xcode >= 5 · 765b46d1
      Brad King authored
      In Tests/Architecture and Tests/BuildDepends/Project we select a set of
      OS X cpu architectures to use for the test.  Prior to Xcode 4 we always
      used i386 and ppc.  Starting with Xcode 4, the tools do not support ppc
      but do support x86_64, so we switch to that.  Fix the version check to
      recognize Xcode >= 5 as at least Xcode 4 and use the new architectures.
      765b46d1
  17. 30 Jul, 2013 1 commit
  18. 26 Jul, 2013 1 commit
  19. 09 Nov, 2012 1 commit
    • Brad King's avatar
      Teach BuildDepends test to cover LINK_DEPENDS_NO_SHARED · 306796e8
      Brad King authored
      Build a shared library and an executable linking to it inside the inner
      test.  Set LINK_DEPENDS_NO_SHARED on the executable.  Add a custom
      target to compare the output file times.  Verify that on the first build
      the executable is newer than the library.  Then modify a library source
      file.  Verify that on the second build the library is newer because the
      executable did not have a dependency to re-link.
      306796e8
  20. 06 Nov, 2012 1 commit
  21. 15 Aug, 2012 1 commit
  22. 13 Aug, 2012 3 commits
    • Kitware Robot's avatar
      Remove CMake-language block-end command arguments · 9db31162
      Kitware Robot authored
      Ancient versions of CMake required else(), endif(), and similar block
      termination commands to have arguments matching the command starting the
      block.  This is no longer the preferred style.
      
      Run the following shell code:
      
      for c in else endif endforeach endfunction endmacro endwhile; do
          echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/'
      done >convert.sed &&
      git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
      egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
      egrep -z -v 'Tests/CMakeTests/While-Endwhile-' |
      xargs -0 sed -i -f convert.sed &&
      rm convert.sed
      9db31162
    • Kitware Robot's avatar
      Convert CMake-language commands to lower case · 77543bde
      Kitware Robot authored
      Ancient CMake versions required upper-case commands.  Later command
      names became case-insensitive.  Now the preferred style is lower-case.
      
      Run the following shell code:
      
      cmake --help-command-list |
      grep -v "cmake version" |
      while read c; do
          echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
      done >convert.sed &&
      git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
      egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
      xargs -0 sed -i -f convert.sed &&
      rm convert.sed
      77543bde
    • 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
  23. 18 Jul, 2012 1 commit
  24. 10 Jul, 2012 1 commit
  25. 19 Jun, 2012 1 commit
  26. 08 Jun, 2012 1 commit
    • Peter Kuemmel's avatar
      Ninja: add wrapper for cl to extract dependencies · 033a687a
      Peter Kuemmel authored
      cmcldeps wraps cl and adds /showInclude before calling cl.
      It parses the output of cl for used headers, drops system
      headers and writes them to a GCC like dependency file.
      
      cmcldeps uses ATM ninja code for process handling,
      but could be ported later to SystemTools.
      
      TODO: Why needs ninja multiple calls in the BuildDepends test?
      033a687a
  27. 02 Feb, 2012 1 commit
  28. 18 Jul, 2011 1 commit
  29. 15 Jul, 2011 1 commit
  30. 05 Nov, 2010 1 commit
  31. 28 Oct, 2009 1 commit
  32. 27 Oct, 2009 1 commit
    • Brad King's avatar
      Avoid Intel linker crash in BuildDepends test · 2e48fe0e
      Brad King authored
      The BuildDepends test exercises incremental linking with MSVC and Intel
      tools on Windows.  In some cases the Intel compiler creates objects that
      cause the MS linker it invokes to crash during incremental linking.  We
      avoid the problem for this test by disabling incremental linking.
      2e48fe0e
  33. 22 Oct, 2009 1 commit
  34. 19 Feb, 2009 2 commits
  35. 14 May, 2008 1 commit