Skip to content
Snippets Groups Projects
  1. Jan 11, 2015
    • 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
  2. Nov 10, 2014
  3. Oct 20, 2014
    • 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
  4. May 06, 2014
  5. Apr 14, 2014
  6. Apr 12, 2014
  7. Apr 04, 2014
  8. Jan 17, 2014
    • Guy Martin's avatar
      Improve ld flags for CMake itself on Linux/HPPA · 8f2c2ccb
      Guy Martin authored and Brad King's avatar Brad King committed
      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
  9. Oct 31, 2012
    • Rolf Eike Beer's avatar
      Linux/PA-RISC: Link with --unique=.text.* to help binutils · e496c540
      Rolf Eike Beer authored and Brad King's avatar Brad King committed
      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
  10. Aug 13, 2012
    • Kitware Robot's avatar
      Remove CMake-language block-end command arguments · 9db31162
      Kitware Robot authored and Brad King's avatar Brad King committed
      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 and Brad King's avatar Brad King committed
      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 and Brad King's avatar Brad King committed
      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
  11. Oct 28, 2009
  12. Oct 27, 2009
    • 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
  13. Oct 01, 2009
  14. Sep 28, 2009
    • 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
  15. Jun 25, 2009
  16. Jan 30, 2008
  17. May 10, 2007
Loading