1. 01 Dec, 2018 1 commit
  2. 22 Oct, 2018 1 commit
  3. 18 Apr, 2018 1 commit
    • Brad King's avatar
      CheckIncludeFiles: Honor CMAKE_REQUIRED_LIBRARIES · a61ae3fb
      Brad King authored
      Other check modules honor this variable, so include file checks should
      too.  Add policy `CMP0075` to enable the behavior in a compatible way.
      
      This change was originally made by commit v3.11.0-rc1~108^2
      (CheckIncludeFiles: Honor CMAKE_REQUIRED_LIBRARIES, 2017-12-24) but it
      was reverted by commit v3.11.1~9^2 (Revert "CheckIncludeFiles: Honor
      CMAKE_REQUIRED_LIBRARIES", 2018-04-04) because the behavior change could
      affect checks in existing projects in an incompatible way.
      
      Fixes: #9514
      a61ae3fb
  4. 04 Apr, 2018 1 commit
  5. 10 Jan, 2018 1 commit
    • don hinton's avatar
      CheckIncludeFiles: Honor CMAKE_REQUIRED_LIBRARIES · f74c2580
      don hinton authored
      This is needed when cross compiling and the compiler requires a specific
      linker different from the default, e.g., when cross compiling from
      Darwin to Linux and passing `-fuse-ld=lld` to clang.
      
      Fixes: #9514
      f74c2580
  6. 01 Dec, 2017 1 commit
  7. 30 Nov, 2017 1 commit
    • Brad King's avatar
      CheckIncludeFiles: Fix name of source file used for check · 3eee3301
      Brad King authored
      In commit 7669695a (CheckIncludeFiles: extend to allow a LANGUAGE
      argument, 2017-11-08) the file name used for the check was accidentally
      left as `${var}.c`, where `var` is not a variable we define.  It was
      passing tests by accidentally using just `.c` as the file name, but can
      break in real projects that may leave `var` defined to something else.
      The reference was taken from similar code in CheckTypeSize where the
      variable names are different.  Fix our reference to be `${VARIABLE}`.
      3eee3301
  8. 24 Nov, 2017 2 commits
  9. 11 Nov, 2017 1 commit
  10. 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
  11. 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
  12. 25 Jun, 2015 1 commit
  13. 11 Sep, 2014 1 commit
  14. 05 Aug, 2014 1 commit
  15. 31 Jul, 2014 1 commit
    • Brad King's avatar
      Check*: Allow result variables to contain regex special characters (#14923) · 4f2fcce4
      Brad King authored
      Prior to the existence of the if(DEFINED) condition, many of our Check
      modules implemented the condition with a hack that takes advantage of
      the auto-dereference behavior of the if() command to detect if a
      variable is defined.  The hack has the form:
      
       if("${VAR} MATCHES "^${VAR}$")
      
      where "${VAR}" is a macro argument reference.  However, this does not
      work when the variable named in the macro argument contains characters
      that have special meaning in regular expressions, such as '+'.  Run the
      command
      
       git grep -E 'if\("\$\{.*\}" MATCHES "\^\$\{.*\}\$"\)' -- Modules/Check*
      
      to identify lines with this problem.  Use if(NOT DEFINED) instead.
      4f2fcce4
  16. 29 Mar, 2014 1 commit
  17. 13 Nov, 2013 1 commit
  18. 15 Oct, 2013 1 commit
  19. 29 Sep, 2012 1 commit
  20. 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
  21. 09 Apr, 2012 1 commit
    • Brad King's avatar
      CheckIncludeFiles: Shorten check description message · 5adb6b7a
      Brad King authored
      Since commit 44d007b6 (CheckIncludeFiles: fix status output, 2012-02-01)
      check_include_files reports the list of files tested instead of the name
      of the variable storing the result.  Some projects incrementally test
      and concatenate very long lists leading to long messages that do not
      provide much information.  Users report confusion especially when the
      lines wrap.
      
      For lists of more than two files produce messages of the format
      
       Looing for N include files first.h, ..., last.h
      
      where N is the list length and "..." is literal.  Leave the log file
      entries and cache entry description unchanged as they should have the
      full detail of the check performed.
      5adb6b7a
  22. 01 Feb, 2012 1 commit
    • Rolf Eike Beer's avatar
      CheckIncludeFiles: fix status output · 44d007b6
      Rolf Eike Beer authored
      CHECK_INCLUDE_FILES("foo.h" HAVE_FOO_H) gave an output like:
      
        Looking for include files HAVE_FOO_H
      
      After this change it does now what CHECK_INCLUDE_FILE() also does:
      
        Looking for include files foo.h
      44d007b6
  23. 09 Aug, 2010 1 commit
  24. 01 Oct, 2009 1 commit
  25. 28 Sep, 2009 1 commit
    • Brad King's avatar
      Convert CMake non-find modules to BSD License · 3a666595
      Brad King authored
      This adds copyright/license notification blocks CMake's non-find
      modules.  Most of the modules had no notices at all.  Some had notices
      referring to the BSD license already.  This commit normalizes existing
      notices and adds missing notices.
      3a666595
  26. 17 Feb, 2008 1 commit
  27. 14 Jun, 2006 1 commit
  28. 24 Feb, 2006 1 commit
  29. 23 Feb, 2006 1 commit
  30. 09 Feb, 2006 2 commits
  31. 12 Jan, 2006 1 commit
  32. 15 Dec, 2005 1 commit
  33. 14 Dec, 2005 1 commit
  34. 02 Nov, 2005 1 commit
  35. 29 Jul, 2005 1 commit
  36. 05 Oct, 2004 1 commit