1. 29 May, 2019 1 commit
    • Zsolt Parragi's avatar
      Fixing warnings generated by clang 8.0 on Windows · 4fe34b2d
      Zsolt Parragi authored
      * Deprecation removals previously specific to MSVC/Intel now also used
        by clang
      * String literals were assigned to non const pointers. These are stored
        in mutable arrays now
      * An implicit function pointer to pointer conversion is a Microsoft
        extension warning is suppressed by an explicit reinterpret_cast
      * The MSVC specific deprecation macro for jsoncpp was moved after the
        clang macro to avoid redefinition warnings. This is consistent with
        how jsoncpp fixed the issue in 36d8cfd7
      4fe34b2d
  2. 23 May, 2019 1 commit
  3. 27 Feb, 2019 1 commit
  4. 11 Jan, 2019 1 commit
  5. 15 Feb, 2018 1 commit
  6. 30 Jan, 2018 1 commit
    • Brad King's avatar
      Windows: Increase stack size used by CMake binaries · c7cee1a1
      Brad King authored
      Deep regex matching logic can exceed the default 1MB stack size.  Until
      a better regex engine is used, simply push the problem over a farther
      horizon by increasing the stack size when built using a MSVC-compatible
      linker.
      
      Issue: #17659
      c7cee1a1
  7. 07 Aug, 2017 1 commit
  8. 26 May, 2017 1 commit
  9. 08 May, 2017 1 commit
  10. 19 Apr, 2017 1 commit
  11. 28 Sep, 2016 1 commit
  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. 14 Sep, 2016 1 commit
  14. 11 Jan, 2015 3 commits
    • Stephen Kelly's avatar
      Remove VS 6 special case. · 0f7bdd61
      Stephen Kelly authored
      0f7bdd61
    • Stephen Kelly's avatar
      Remove some obsolete stuff. · 5e92c826
      Stephen Kelly authored
      We don't need to run compiler tests for ansi-for etc anymore. All
      supported compilers support the features tested here.
      5e92c826
    • Stephen Kelly's avatar
      SolarisStudio: Use alternative standard library to build CMake. · 4c69ec6f
      Stephen Kelly authored
      SolarisStudio ships a very old RogueWave standard library
      implementation (libCstd) and uses it by default for backward compatibility.
      The macros defined when building the system libCstd need to be the same as
      the macros defined when using it for binary compatibility reasons etc.  The
      SolarisStudio compiler driver adds macros such as _RWSTD_NO_MEMBER_TEMPLATES and
      _RWSTD_NO_CLASS_PARTIAL_SPEC etc. These macros disable certain APIs in the
      standard library headers.
      
      Although the compiler supports the features 'member templates' and 'partial
      template specialization', the standard library does not provide APIs which
      rely on those features.  This means that std::vector::insert in libCStd does
      not accept a pair of iterators from a different type of container, because
      that requires member templates, and reverse_iterator<const T> can not
      be constructed from a reverse_iterator<T> because that requires partial
      specialization (or at least the _RWSTD_NO_CLASS_PARTIAL_SPEC define) and
      member templates.
      
      This causes many problems while building CMake using SolarisStudio, which
      have not been well understood until now.  The problems are usually
      attributed to compiler limitations, while actually the problem is in
      the standard library, as in commit v3.0.0-rc1~99^2~1 (Help: Document non-use
      of std::set::insert., 2014-01-24) and commit 107dcac3 (Fix compilation with
      the Oracle / Sun compiler (#15318), 2014-12-12).
      
      SolarisStudio 12.3 and earlier also ships a version of stlport which may be
      used instead of libCstd by specifying -library=stlport4
      
       https://docs.oracle.com/cd/E18659_01/html/821-1383/bkakg.html
      
      SolarisStudio 12.4 ships a version of libstdc++ from GCC 4.8.2 which may be
      used by specifying -std=c++03 or -std=c++11 etc
      
       http://docs.oracle.com/cd/E37069_01/html/E37075/bkamw.html#OSSCPgnaof
      
      Use these more-capable standard library implementations when building cmake.
      This will allow more use of 'normal' C++ (such as std::vector::insert), and cause
      fewer surprises resulting from dashboards using SolarisStudio.
      
      Because cmake is not a library linked against by 3rd parties and does not have
      external dependencies, issues related to mixing code using libCStd and libstdc++
      do not apply.
      4c69ec6f
  15. 10 Nov, 2014 1 commit
  16. 20 Oct, 2014 1 commit
    • Ben Boeckel's avatar
      Avoid if() quoted auto-dereference · 29c3edb8
      Ben Boeckel authored
      When testing CMAKE_<LANG>_COMPILER_ID values, do not explicitly
      dereference or quote the variable. We want if() to auto-dereference the
      variable and not its value. Also replace MATCHES with STREQUAL where
      equivalent.
      29c3edb8
  17. 06 May, 2014 3 commits
  18. 14 Apr, 2014 2 commits
  19. 12 Apr, 2014 1 commit
  20. 04 Apr, 2014 2 commits
  21. 17 Jan, 2014 1 commit
    • Guy Martin's avatar
      Improve ld flags for CMake itself on Linux/HPPA · 8f2c2ccb
      Guy Martin authored
      Workaround binutils bug by only marking unique section starting by
      ".text._".
      
      This adds the HPPA workaround improved in commit b22a0f15 (bootstrap:
      improve ld flag for Linux/HPPA builds, 2014-01-14) not only to the
      bootstrap, but also to the normal build.
      8f2c2ccb
  22. 31 Oct, 2012 1 commit
    • Rolf Eike Beer's avatar
      Linux/PA-RISC: Link with --unique=.text.* to help binutils · e496c540
      Rolf Eike Beer authored
      There is a binutils bug that leads to errors like this:
      
      /usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.6.3/../../../../hppa2.0-unknown-linux-gnu/bin/ld: libCMakeLib.a(cmTarget.cxx.o)(.text+0x12084): cannot reach 00001d28__ZNSspLEPKc@@GLIBCXX_3.4+0, recompile with -ffunction-sections
      /usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.6.3/../../../../hppa2.0-unknown-linux-gnu/bin/ld: libCMakeLib.a(cmTarget.cxx.o)(.text+0x12084): cannot handle R_PARISC_PCREL17F for std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char const*)@@GLIBCXX_3.4
      /usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.6.3/../../../../hppa2.0-unknown-linux-gnu/bin/ld: final link failed: Bad value
      
      Until someone finds out what needs to be fixed in binutils this allows anyone
      to compile a working CMake even in debug mode.
      e496c540
  23. 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
  24. 28 Oct, 2009 2 commits
  25. 27 Oct, 2009 1 commit
    • Brad King's avatar
      Disable Intel CRT deprecation warnings · 6720d31e
      Brad King authored
      The Intel Compiler for Windows uses the MS runtime library which
      deprecates many C functions.  We define _CRT_SECURE_NO_DEPRECATE and
      _CRT_NONSTDC_NO_DEPRECATE to disable the deprecation warnings.
      6720d31e
  26. 01 Oct, 2009 1 commit
  27. 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
  28. 25 Jun, 2009 1 commit
  29. 30 Jan, 2008 1 commit
  30. 10 May, 2007 1 commit