1. 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 lin...
  2. 14 Sep, 2016 1 commit
  3. 11 Jan, 2015 3 commits
    • Stephen Kelly's avatar
      Remove VS 6 special case. · 0f7bdd61
      Stephen Kelly authored
    • 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.
    • 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
      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
      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.
  4. 10 Nov, 2014 1 commit
  5. 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
  6. 06 May, 2014 3 commits
  7. 14 Apr, 2014 2 commits
  8. 12 Apr, 2014 1 commit
  9. 04 Apr, 2014 2 commits
  10. 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
      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.
  11. 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.
  12. 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
    • 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
    • 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/ \+$//'
  13. 28 Oct, 2009 2 commits
  14. 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.
  15. 01 Oct, 2009 1 commit
  16. 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.
  17. 25 Jun, 2009 1 commit
  18. 30 Jan, 2008 1 commit
  19. 10 May, 2007 1 commit