1. 11 Nov, 2016 2 commits
  2. 01 Nov, 2016 1 commit
    • congzhangzh's avatar
      UseSWIG: Add option to specify swig output file directory · 8444b984
      congzhangzh authored
      `swig` has two output-related options:
      
      * `-o <outfile>`: Set name of C/C++ output file to <outfile>
      * `-outdir <dir>`: Set language-specific files output directory to <dir>
      
      We already have `CMAKE_SWIG_OUTDIR` for the latter.  Add a new
      `SWIG_OUTFILE_DIR` option for the former.
      8444b984
  3. 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
  4. 27 Jul, 2016 1 commit
    • Daniel Pfeifer's avatar
      Use string(APPEND) in Modules · 5d0d980d
      Daniel Pfeifer authored
      Automate with:
      
      find Modules -type f -print0 | xargs -0 perl -i -0pe \
      's/set\(([a-zA-Z0-9_]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
      5d0d980d
  5. 09 Sep, 2015 1 commit
    • Ben Webb's avatar
      FindSWIG: Do not generate erroneous outputs with -noproxy · 96a8890c
      Ben Webb authored
      Generally for a module foo, SWIG generates (in Python mode)
      an extension module _foo.so and a proxy Python module foo.py.
      However, if -noproxy is specified, instead it builds only foo.so
      (without the leading underscore). The custom command generated
      by CMake correctly handles the removal of this underscore when
      -noproxy is given; however, it still adds foo.py to the expected
      outputs. This upsets build tools that expect foo.py to be generated
      (for example, 'make' will run the SWIG command twice). Fix this
      by removing foo.py from the set of extra generated files when
      -noproxy is specified.
      96a8890c
  6. 30 Apr, 2015 1 commit
    • Nils Gladitz's avatar
      Revert "add_custom_command: Diagnose MAIN_DEPENDENCY limitation." · 32a2f414
      Nils Gladitz authored
      This reverts commit 242c3966 (add_custom_command: Diagnose
      MAIN_DEPENDENCY limitation, 2015-03-09) and the follow up commit
      b372a99a (UseSWIG: Do not use MAIN_DEPENDENCY on custom commands,
      2015-03-26).
      
      I misdiagnosed the underlying issue that prompted creation of policy CMP0057.
      The actual issue surfaces when a single custom command's MAIN_DEPENDENCY
      is listed in more than one target; this issue will have to be addressed
      independently.
      32a2f414
  7. 15 Apr, 2015 1 commit
  8. 30 Mar, 2015 1 commit
    • Felix Schwitzer's avatar
      UseSWIG: Do not use MAIN_DEPENDENCY on custom commands (#15480) · b372a99a
      Felix Schwitzer authored
      Add the dependency on the main swig input source file as a normal
      DEPENDS option.  We cannot use MAIN_DEPENDENCY because if there are
      multiple target languages then multiple custom commands would want to
      use the same MAIN_DEPENDENCY, but at most one custom command may specify
      a given source file as its MAIN_DEPENDENCY.  Exposed by a CMP0057
      warning.
      b372a99a
  9. 09 Mar, 2015 1 commit
  10. 14 Oct, 2014 1 commit
  11. 25 Jun, 2014 1 commit
  12. 29 Apr, 2014 1 commit
  13. 21 Apr, 2014 2 commits
  14. 14 Apr, 2014 1 commit
  15. 01 Apr, 2014 1 commit
  16. 20 Mar, 2014 1 commit
  17. 24 Feb, 2014 1 commit
  18. 07 Jan, 2014 1 commit
    • Stephen Kelly's avatar
      Help: Fix some erroneous code block markers in Module docs. · efc43cde
      Stephen Kelly authored
      There are many style errors in these files. This patch fixes only
      the syntactical errors.
      
      The script which ported these to rst tripped on some incorrectly
      formatted blocks in the original input documentation.  Use a new
      script to find problematic code (and then fix them manually):
      
        #!/usr/bin/env python
      
        import os
      
        rootDir = '.'
      
        def checkFile(fname):
      
          f = open(fname)
          lines = f.readlines()
          started = False
          counter = 0
          for l in lines:
            if "#" in l:
              started = True
            elif started:
              return
            lin = l.find("(")
            if lin != -1 and l.find(")", lin) == -1 and \
                not "(To distribute this file outside of CMake, substitute the full" in l:
              for lp in lines[counter+1:]:
                if lp == "# ::\n":
                  print "\n\n######### " + fname + "\n\n"
                  print ''.join(lines[max(counter-2, 0):counter+6])
                  break
                elif lp == "#\n" :
                  continue
                break
            counter += 1
      
        for dirName, subdirList, fileList in os.walk(rootDir):
            for fname in fileList:
                checkFile(os.path.join(dirName, fname))
      efc43cde
  19. 29 Nov, 2013 1 commit
  20. 28 Nov, 2013 1 commit
  21. 26 Nov, 2013 1 commit
  22. 25 Nov, 2013 3 commits
  23. 15 Oct, 2013 1 commit
  24. 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
  25. 23 Feb, 2012 1 commit
  26. 27 Jun, 2011 1 commit
  27. 08 Apr, 2011 3 commits
  28. 09 Aug, 2010 1 commit
  29. 03 Nov, 2009 1 commit
  30. 30 Oct, 2009 2 commits
  31. 01 Oct, 2009 1 commit