summaryrefslogtreecommitdiffstats
path: root/Modules/CMakeFortranCompilerId.F.in
Commit message (Collapse)AuthorAgeFilesLines
* Remove now-unused code once used for MIPSpro on IRIXBrad King2019-02-211-7/+0
| | | | | | In commit beb991110d (Remove now-unused code once used on IRIX, 2019-01-11, v3.14.0-rc1~167^2) we removed remnants of IRIX support. Also remove remnants of MIPSpro compiler support.
* Remove now-unused code once used on IRIXBrad King2019-01-111-14/+2
| | | | | We dropped support for IRIX as a host platform long ago. Remove some leftover code.
* Flang: Identify as simulating MSVC on WindowsIsuru Fernando2017-10-311-21/+20
| | | | | | In `CMakeFortranCompilerId.F.in`, take the `_MSC_VER` out of the Intel-specific block so it will trigger for other compilers like Flang. In `Compiler/Clang.cmake`, switch off Fortran too.
* Flang: Add support for flang Fortran compilerTin Huynh2017-08-311-0/+7
| | | | | | | | | | | | | | flang is a Fortran compiler built on top of clang [1]. Because flang shares a lot of commonalities with clang, the flang module piggybacks off the clang module and overrides certain options. Add flang to Fortran compiler auto find list. Update flang preprocessor macros to differentiate from PGI. Add Flang-FindBinUtils. [1] https://github.com/flang-compiler/flang
* NAG: Detect compiler version of NAG FortranTom Clune2017-05-051-0/+5
| | | | Fixes: #16817
* Cray: Add macro tests to detect the Cray compiler wrappersChuck Atkins2015-12-071-0/+3
|
* Merge topic 'cray-fortran-version'Brad King2015-11-131-0/+2
|\ | | | | | | | | 09f754f0 Cray: Implement Fortran compiler version detection (#15845)
| * Cray: Implement Fortran compiler version detection (#15845)Brad King2015-11-121-0/+2
| | | | | | | | | | | | We already recognize the Cray Fortran compiler id. Extract the version number using the same predefined macros we already use for Cray C and C++ compilers.
* | Intel: Recognize MSVC version for Intel Fortran 2016 (#15809)Brad King2015-10-261-1/+3
|/
* Fortran: Detect G95 compiler versionBrad King2015-02-191-0/+2
| | | | | The __G95__ and __G95_MINOR__ preprocessor symbols encode the compiler version as decimal digits.
* Fortran: Detect PGI compiler versionBrad King2015-02-191-0/+5
| | | | | Port logic from the "Compiler/PGI-DetermineCompiler" module into "CMakeFortranCompilerId.F.in".
* Fortran: Detect XL and VisualAge compiler versionsBrad King2015-02-191-0/+6
| | | | | | Port logic from the "Compiler/XL-*-DetermineCompiler" and "Compiler/VisualAge-*-DetermineCompiler" modules into "CMakeFortranCompilerId.F.in".
* Fortran: Detect GNU compiler versionBrad King2015-02-191-0/+5
| | | | | Port logic from the "Compiler/GNU-DetermineCompiler" module into "CMakeFortranCompilerId.F.in".
* Fortran: Detect PathScale compiler versionBrad King2015-02-191-0/+5
| | | | | Port logic from the "Compiler/PathScale-DetermineCompiler" module into "CMakeFortranCompilerId.F.in".
* Fortran: Detect SunPro compiler versionBrad King2015-02-191-1/+9
| | | | | Port logic from "Compiler/SunPro-*DetermineCompiler" modules into "CMakeFortranCompilerId.F.in".
* Fortran: Detect Intel compiler versionBrad King2015-02-191-0/+11
| | | | | Port logic from the "Compiler/Intel-DetermineCompiler" module into "CMakeFortranCompilerId.F.in".
* Fortran: Add infrastructure to detect compiler version (#15372)Brad King2015-02-191-0/+22
| | | | | | | | Fortran does not offer syntax to compose a string literal at preprocessing time from numeric compuations. Instead encode each digit of each component as a separate INFO string and compose them in CMake code after extraction. Support MAJOR, MINOR, PATCH, and TWEAK components with up to 8 digits each.
* Intel: Fix detection of MSVC version simulated by pre-11.0 FortranBrad King2013-10-181-3/+1
| | | | | | | The Intel Fortran 10 64-bit compiler incorrectly defines _MSC_VER to its own version (1020) instead of the underlying MSVC tools version. Since we expect the compiler to be used only with VS >= 7 tools, assume MSVC version 13.0 if _MSC_VER is not greater than 1300.
* Intel: When simulating MSVC, re-use Windows-MSVC (#14476)Brad King2013-10-181-0/+20
| | | | | | | | | 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).
* check for Haiku only with __HAIKU__Rolf Eike Beer2013-01-071-5/+1
|
* Add Absoft Fortran compiler id and basic flagsBrad King2011-05-201-0/+2
| | | | | Identification at preprocessing time depends on definition of __ABSOFT__ to be added in service pack V11.1.2 of the compiler.
* Detect Fortran target architecture on WindowsBrad King2010-12-161-0/+9
| | | | | | | 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.
* Teach CMake about Cray C, C++, and Fortran compilersBrad King2010-11-121-0/+2
| | | | | | The Cray Fortran compiler needs "-em" to enable module output and also "-J." to place the .mod files in the current working directory (instead of next to the .o file).
* Recognize the PathScale C/C++/Fortran compilersBrad King2010-01-131-0/+2
|
* Add support for the g95 Fortran compilerBrad King2009-10-231-0/+2
| | | | | | | | | | This commit teaches CMake about the g95 compiler from http://www.g95.org We use 'G95' as the compiler id string, and add some basic flags. See issue #9241.
* Teach compiler id about VisualAge -> XL rebrandingBrad King2009-08-071-1/+7
| | | | | | | IBM rebranded its VisualAge compiler to XL starting at version 8.0. We use the compiler id "XL" for newer versions and "VisualAge" for older versions. We now also recognize the "z/OS" compiler, which is distinct from XL.
* ENH: Check _SGI_COMPILER_VERSION for compiler idBrad King2009-07-141-1/+1
| | | | | | Some SGI compilers define _SGI_COMPILER_VERSION in addition to the old _COMPILER_VERSION preprocessor symbol. It is more distinctive, so we should check it in case the old one is ever removed.
* BUG: Avoid SGI preprocessor bug for Fortran IdBrad King2009-07-141-2/+10
| | | | | | | | | | | | | | | | | The SGI preprocessor /usr/lib/cpp produces bad output on this code: #if 1 A #elif 1 B #else C #endif Both 'A' and 'C' appear in the output! We work around the problem by using '#elif 1' instead of '#else'. This fixes detection of the SGI Fortran compiler id in -o32 mode.
* ENH: Identify Fortran compilers with fixed formatBrad King2009-06-251-0/+92
This enhances the Fortran compiler id detection by using a source that can compile either as free or fixed format. As long as the compiler knows it should preprocess the source file (.F) the identification can work. Even free-format compilers may try fixed-format parsing if the user specifies certain flags, so we must support both.