summaryrefslogtreecommitdiffstats
path: root/Modules/FortranCInterface.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Convert CMake non-find modules to BSD LicenseBrad King2009-09-281-0/+13
| | | | | | | 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.
* Make FortranCInterface_VERIFY verbose on failureBrad King2009-09-011-0/+1
| | | | | We enable verbose build output in the try_compile of the simple project. This makes valuable information available in the case of failure.
* Create FortranCInterface_VERIFY functionBrad King2009-08-241-0/+76
| | | | | | | 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.
* Teach FortranCInterface to load outside resultsBrad King2009-08-241-162/+4
| | | | | | | | 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.
* Teach FortranCInterface to verify languagesBrad King2009-08-201-0/+9
| | | | | This module requires both C and Fortran to be enabled, so error-out if they are not.
* Rewrite FortranCInterface moduleBrad King2009-08-051-214/+317
| | | | | | | | | | | | | | | | | | | | 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.
* ENH: fix for intel module on linuxBill Hoffman2008-10-311-0/+2
|
* ENH: better output if module linkage is not foundBill Hoffman2008-10-301-8/+7
|
* ENH: fix uppercase version so defines are not upper as wellBill Hoffman2008-10-301-6/+14
|
* ENH: fix check for intel windows module manglingBill Hoffman2008-10-291-1/+5
|
* ENH: fix check for intel windows module manglingBill Hoffman2008-10-291-0/+1
|
* ENH: add check for intel windows module manglingBill Hoffman2008-10-291-1/+1
|
* ENH: add check for intel windows module manglingBill Hoffman2008-10-291-0/+1
|
* ENH: fix upper caseBill Hoffman2008-10-291-4/+4
|
* ENH: only check for module linkage if f90 is availableBill Hoffman2008-10-291-1/+4
|
* ENH: fix for xlf module linkageBill Hoffman2008-10-291-1/+1
|
* ENH: add test for FortranCInterfaceBill Hoffman2008-10-291-3/+3
|
* ENH: add support for g77 extra _ at the end of functions that have an _ in ↵Bill Hoffman2008-10-281-9/+35
| | | | the name...
* ENH: add support for module functionsBill Hoffman2008-10-281-32/+84
|
* ENH: add fortran link discovery moduleBill Hoffman2008-10-271-0/+135