1. 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
  2. 03 Sep, 2014 1 commit
  3. 19 May, 2014 1 commit
  4. 14 Apr, 2014 1 commit
  5. 14 Aug, 2013 1 commit
  6. 13 Aug, 2012 1 commit
    • 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
  7. 14 Sep, 2011 1 commit
  8. 08 Sep, 2011 2 commits
  9. 24 Mar, 2011 1 commit
    • Brad King's avatar
      FortranCInterface: Fix mangling detection with Cray Fortran >= 7.3.2 · d0203fb5
      Brad King authored
      The Cray Fortran compiler started using module init symbols in version 7.3.2.
      Starting in commit 71287734 (Teach FortranC interface for Intel, PGI, and gcc
      4.2, 2009-08-05) we provide C versions of the module init symbols so that the
      detection executable can link when the C versions of the module-mangled symbols
      are picked up.
      
      If no C module-mangled symbol matches then we cannot let the C module init
      symbol appear because it will be duplicated by the Fortran copy that provides
      the module-mangled symbol.  This was first handled for the PathScale compiler
      in commit 21faaa5d (FortranCInterface: Fix PathScale detection, 2010-01-22) and
      commit 46858720 (FortranCInterface: Fix PathScale detection again, 2010-02-16).
      Handle it now for the Cray compiler too.
      d0203fb5
  10. 09 Dec, 2010 1 commit
  11. 05 Mar, 2010 1 commit
    • Brad King's avatar
      CMake 2.8.1-rc4 · 6dde1543
      Brad King authored
      This commit cherry-picks and squashes the following commits:
      
        46858720 "FortranCInterface: Fix PathScale detection..." (2010-02-16)
        b39fe940 "Fix problem with ExternalProject test..." (2010-02-17)
        70290e1f "Add support for QtDeclartive module" (2010-02-17)
        282ba895 "Clarify CMAKE_MODULE_PATH documentation" (2010-02-18)
        4eba05de "Suppress GNU flag -fPIC on Windows" (2010-02-19)
        57efb4a4 "BUG: We shouldn't be setting the HideWindow..." (2010-02-19)
      6dde1543
  12. 16 Feb, 2010 1 commit
    • Brad King's avatar
      FortranCInterface: Fix PathScale detection again · 46858720
      Brad King authored
      PathScale Fortran mangles module symbols as "MY_SUB.in.MY_MODULE" and
      also requires "my_module_" when the module is imported.  We cannot
      provide the symbol with ".in." mangling so we should not provide
      "my_module_" because it would duplicate the one in the Fortran-provided
      object file.
      
      Commit "FortranCInterface: Fix PathScale detection" (2010-01-22) already
      made the same fix for the non-underscore module case.
      46858720
  13. 28 Jan, 2010 1 commit
  14. 22 Jan, 2010 1 commit
    • Brad King's avatar
      FortranCInterface: Fix PathScale detection · 21faaa5d
      Brad King authored
      PathScale Fortran mangles module symbols as "MYSUB.in.MYMODULE" and also
      requires "mymodule_" when the module is imported.  We cannot provide the
      symbol with ".in." mangling so we should not provide "mymodule_" because
      it would duplicate the one in the Fortran-provided object file.
      21faaa5d
  15. 15 Dec, 2009 1 commit
    • Brad King's avatar
      FortranCInterface: Support '=' in language flags · 0306080e
      Brad King authored
      The commit "FortranCInterface: Honor language flags in checks" taught
      the FortranCInterface module to pass C and Fortran flags into its
      detection and verification checks.  We improve on the change to allow
      the '=' character in the language flags.  This requires passing the
      cache entry type with the -D options.
      0306080e
  16. 19 Nov, 2009 1 commit
    • Brad King's avatar
      FortranCInterface: Honor language flags in checks · 1699836b
      Brad King authored
      We pass CMAKE_C_FLAGS, CMAKE_CXX_FLAGS, and CMAKE_Fortran_FLAGS through
      try_compile() for the FortranCInterface Detect and Verify projects.
      This honors user-specified compiler flags for each language, thus
      supporting flags that affect the Fortran mangling.
      1699836b
  17. 09 Oct, 2009 1 commit
  18. 05 Oct, 2009 1 commit
  19. 01 Oct, 2009 1 commit
  20. 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
  21. 01 Sep, 2009 1 commit
    • Brad King's avatar
      Fix FortranCInterface_VERIFY for non-C++ case · dc788387
      Brad King authored
      The verification program entry point (main) is defined in a C source
      file, so the C compiler should be used to link when only Fortran and C
      are involved.  The C++ compiler should still be used when the CXX option
      is enabled.
      dc788387
  22. 24 Aug, 2009 2 commits
    • Brad King's avatar
      Create FortranCInterface_VERIFY function · a9be85da
      Brad King authored
      This function builds a simple test project using a combination of
      Fortran and C (and optionally C++) to verify that the compilers are
      compatible.  The idea is to help projects report very early to users
      that the compilers specified cannot mix languages.
      a9be85da
    • Brad King's avatar
      Teach FortranCInterface to load outside results · 14f7a043
      Brad King authored
      We split the main detection logic into a Detect.cmake support module and
      load it only when detection results are not already available.  This
      allows results computed by the main project to be used in try-compile
      projects without recomputing them.  The call to try_compile() need only
      to pass FortranCInterface_BINARY_DIR through the CMAKE_FLAGS option.
      14f7a043
  23. 06 Aug, 2009 2 commits
  24. 05 Aug, 2009 3 commits
    • Brad King's avatar
      Cleanup FortranCInterface for PGI and GCC 4.2 · edcddb52
      Brad King authored
      This documents the purpose of the extra my_module_.c and mymodule.c
      source files, and sorts the symbols.
      edcddb52
    • Bill Hoffman's avatar
      71287734
    • Brad King's avatar
      Rewrite FortranCInterface module · 80f0201b
      Brad King authored
      This is a new FortranCInterface.cmake module to replace the previous
      prototype.  All module support files lie in a FortranCInterface
      directory next to it.
      
      This module uses a new approach to detect Fortran symbol mangling.  We
      build a single test project which defines symbols in a Fortran library
      (one per object-file) and calls them from a Fortran executable.  The
      executable links to a C library which defines symbols encoding all known
      manglings (one per object-file).  The C library falls back to the
      Fortran library for symbols it cannot provide.  Therefore the executable
      will always link, but prefers the C-implemented symbols when they match.
      These symbols store string literals of the form INFO:symbol[<name>] so
      we can parse them out of the executable.
      
      This module also provides a simpler interface.  It always detects the
      mangling as soon as it is included.  A single macro is provided to
      generate mangling macros and optionally pre-mangled symbols.
      80f0201b