1. 30 Sep, 2015 1 commit
    • Brad King's avatar
      Disable shared library support when compiler links statically · 8b4873a1
      Brad King authored
      When a user or a compiler wrapper adds '-static' to the compiler flags
      then it will always link static binaries.  Detect this from the compiler
      id binary and disable TARGET_SUPPORTS_SHARED_LIBS.  This will prevent
      projects from accidentally adding shared libraries when the toolchain
      does not support them.  It also helps CMake avoid linking with flags
      that require shared libraries to be supported.
      8b4873a1
  2. 05 Aug, 2015 1 commit
    • Brad King's avatar
      Fortran: Store detected compiler version persistently (#15684) · f0609182
      Brad King authored
      The Fortran compiler version detection infrastructure added by commit
      v3.3.0-rc1~436^2~9 (Fortran: Add infrastructure to detect compiler
      version, 2015-02-17) forgot to update CMakeFortranCompiler.cmake.in to
      save the compiler version persistently as we do already in
      "CMake{C,CXX}Compiler.cmake.in".  Add the missing line now.
      f0609182
  3. 18 Oct, 2013 1 commit
    • Brad King's avatar
      Intel: When simulating MSVC, re-use Windows-MSVC (#14476) · a85e17e6
      Brad King authored
      Teach CMake(C|CXX|Fortran)CompilerId* to report the MSVC version
      simulated by the Intel compiler, if any.  Refactor the Windows-Intel
      platform information helper module to load Windows-MSVC instead of
      duplicating the information.  Teach Windows-MSVC to understand when
      it is loaded as the simulated Fortran compiler (its preprocessor is
      simulated).
      a85e17e6
  4. 11 Dec, 2012 1 commit
    • Brad King's avatar
      OS X: Detect implicit linker framework search paths · cc676c3a
      Brad King authored
      Previously we hard-coded a list of implicit framework directories but
      did not account for CMAKE_OSX_SYSROOT or for changes to the list across
      OS X versions.  Instead we should automatically detect the framework
      directories for the active toolchain.
      
      The parent commit added the "-Wl,-v" option to ask "ld" to print its
      implicit directories.  It displays a block such as:
      
       Framework search paths:
      	/...
      
      Parse this block to extract the list of framework directories.
      
      Detection may fail on toolchains that do not list their framework
      directories, such as older OS X linkers.  Always treat the paths
      
       <sdk>/Library/Frameworks
       <sdk>/System/Library/Frameworks
       <sdk>/Network/Library/Frameworks # Older OS X only
       /System/Library/Frameworks
      
      as implicit.  Note that /System/Library/Frameworks should always be
      considered implicit so that frameworks CMake finds there will not
      override the SDK copies.
      cc676c3a
  5. 24 Aug, 2012 2 commits
    • Brad King's avatar
      Store ABI detection results in compiler information files · e5fee8a7
      Brad King authored
      Drop use of cache entry CMAKE_DETERMINE_<LANG>_ABI_COMPILED and replace
      it with variable CMAKE_<LANG>_ABI_COMPILED.  Since the grandparent
      commit this test result is specific to the version of CMake.  Store it
      in the version-specific compiler information files instead of
      CMakeCache.txt so testing can be re-done to meet the requirements of the
      current version of CMake even if another version of CMake was already
      used to configure the build tree.
      e5fee8a7
    • Brad King's avatar
      Move CMAKE_<LANG>_COMPILER_WORKS to compiler information files · 3df81b49
      Brad King authored
      Since the parent commit this test result is specific to the version of
      CMake.  Store it in the version-specific compiler information files
      instead of CMakeCache.txt so testing can be re-done to meet the
      requirements of the current version of CMake even if another version of
      CMake was already used to configure the build tree.
      3df81b49
  6. 13 Aug, 2012 2 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
  7. 08 Jun, 2011 1 commit
  8. 16 Dec, 2010 1 commit
    • Brad King's avatar
      Detect Fortran target architecture on Windows · 58c73c43
      Brad King authored
      Commit 4430bccc (Change the way 32/64 bit compiles are detected with
      MSVC and intel, 2009-11-19) added detection of the target processor to C
      and CXX language builds with MS and Intel tools.  Do the same for Intel
      Fortran for Windows (ifort).  Use /machine:<arch> to link executables.
      58c73c43
  9. 05 May, 2010 1 commit
    • Brad King's avatar
      Use Fortran ABI detection results conservatively · 0457d531
      Brad King authored
      We set CMAKE_Fortran_SIZEOF_DATA_PTR in the Fortran compiler information
      file after detecting the compiler ABI.  However, since Fortran does not
      really have pointers, the preprocessor-based detection is unreliable.
      The result is needed to set CMAKE_SIZEOF_VOID_P only for Fortran-only
      projects because the value can come from C or C++ compilers otherwise.
      Therefore when CMAKE_SIZEOF_VOID_P is available from another language we
      should defer to it.
      0457d531
  10. 28 Jan, 2010 1 commit
  11. 12 Jan, 2010 1 commit
    • Brad King's avatar
      Detect Fortran ABI Information · 6c1e2427
      Brad King authored
      Implement Fortran 32/64-bit ABI detection on some platforms.  We need to
      set CMAKE_SIZEOF_VOID_P correctly in Fortran-only projects so that the
      find_library() command knows whether to look for 64-bit binaries.  We
      also detect ELF binaries to enable RPATH replacement.  See issue #10119.
      6c1e2427
  12. 30 Jul, 2009 1 commit
    • Brad King's avatar
      Pass Fortran90 test result to try-compile · 68434483
      Brad King authored
      This stores CMAKE_Fortran_COMPILER_SUPPORTS_F90 in the Fortran compiler
      information file CMakeFiles/CMakeFortranCompiler.cmake instead of in
      CMakeCache.txt.  This file makes the result available to try-compile
      projects.
      68434483
  13. 23 Jul, 2009 1 commit
    • Brad King's avatar
      ENH: Implicit link info for C, CXX, and Fortran · 07ea19ad
      Brad King authored
      This teaches CMake to detect implicit link information for C, C++, and
      Fortran compilers.  We detect the implicit linker search directories and
      implicit linker options for UNIX-like environments using verbose output
      from compiler front-ends.  We store results in new variables called
      
        CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES
        CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES
      
      The implicit libraries can contain linker flags as well as library
      names.
      07ea19ad
  14. 05 Mar, 2008 1 commit
  15. 12 Jul, 2007 1 commit
  16. 11 Jul, 2007 2 commits
    • Alexander Neundorf's avatar
      16705a3e
    • Alexander Neundorf's avatar
      · bea1a5de
      Alexander Neundorf authored
      ENH: CMAKE_<LANG>_LINKER_PREFERENCE is now an integer priority, not a
      two-step priority (None or Prefered)
      Current order: ASM 0, C 10, Fortran 20, CXX 30, Java 40
      This is the same order as automake choses:
      http://www.gnu.org/software/automake/manual/html_node/How-the-Linker-is-Chosen.html
      
      This change should be backward compatible:
      if there is a project using fortran and CXX, they had to set the
      LINKER_LANGUAGE explicitely, otherwise cmake complained (but still generated
      the project files). Explicitely setting the linker language still overrides
      automatic detection.
      If somebody has a custom language for cmake and the PREFERENCE starts with
      "P", its changed to 100, which gives it preference over all other languages
      (except the other custom languages which have also "Prefered"). "None" is
      converted to 0.
      
      Alex
      bea1a5de
  17. 03 May, 2007 1 commit
  18. 04 Jul, 2006 1 commit
  19. 20 Jul, 2005 1 commit
  20. 20 Jan, 2005 1 commit
  21. 22 Sep, 2004 1 commit
  22. 03 Sep, 2004 1 commit
  23. 26 Aug, 2004 1 commit
  24. 06 Aug, 2004 1 commit
  25. 12 Dec, 2003 1 commit
  26. 21 Aug, 2003 1 commit
  27. 20 Nov, 2002 1 commit
  28. 11 Nov, 2002 1 commit
  29. 08 Nov, 2002 1 commit
  30. 23 Oct, 2002 1 commit