summaryrefslogtreecommitdiffstats
path: root/Modules/Compiler
Commit message (Collapse)AuthorAgeFilesLines
* Factor SCO compiler info out of platform file (#11700)Brad King2011-01-173-0/+29
| | | | | Move these flags out of the SCO_SV platform file so that other compilers may be used on that platform without interference.
* Merge topic 'NAG-Fortran'Brad King2010-12-161-0/+32
|\ | | | | | | | | | | | | | | | | 09d1c10 FortranCInterface: Recognize NAG Fortran module symbols af2ad90 Add NAG Fortran compiler information files 24cc3d4 Recognize the NAG Fortran compiler 83892c4 Allow Fortran platform files to set empty values fe3f878 Detect object files in implicit link information
| * Add NAG Fortran compiler information filesBrad King2010-12-091-0/+32
| | | | | | | | | | | | | | | | | | On Linux the NAG Fortran compiler uses gcc under the hood to link. Use "-Wl,-v" to pass "-v" to the underlying gcc compiler to get verbose link output. Detect the NAG Fortran directory (using -dryrun) and then honor object files in the directory referenced in the implicit link line. Pass real linker options with "-Wl,-Xlinker,". The -Wl, gets through the NAG front-end and the -Xlinker gets through the gcc front-end.
* | Teach CMake about Cray C, C++, and Fortran compilersBrad King2010-11-123-0/+6
|/ | | | | | 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).
* Modules: Fix spelling 'To distributed' -> 'To distribute'Todd Gamblin2010-08-093-3/+3
|
* Recognize Clang C and C++ compilers (see #10693)Brad King2010-05-172-0/+2
| | | | | | | Map to the platform and compiler information for GNU because the compilers are command-line compatible for common operations. Later we can add Clang-specific features as necessary. We honor the preferred capitalization is "Clang", not the common mis-spelling "CLang".
* Make VERBOSE_FLAG appear as first statement for consistencyKovarththanan Rajaratnam2010-04-174-5/+7
|
* PathScale C/C++/Fortran Compiler InformationBrad King2010-01-134-0/+43
| | | | | | | | | | We add compiler information files Compiler/PathScale-<lang>.cmake to specify PathScale compiler information for C, C++, and Fortran languages. We use a macro in Compiler/PathScale.cmake to consolidate the information common to all languages.
* Generalize support for Portland Group CompilerBrad King2009-12-044-3/+55
| | | | | | | | | | | | | | | We factor flags from Platform/Linux-PGI-Fortran.cmake into language independent helper modules Compiler/PGI.cmake Platform/Linux-PGI.cmake and invoke the macros from Compiler/PGI-<lang>.cmake Platform/Linux-PGI-<lang>.cmake This enables general support for the PGI compilers.
* Split GNU compiler information filesBrad King2009-12-024-3/+56
| | | | | | | | | | | | | | This moves GNU compiler flags into new-style modules Compiler/GNU-<lang>.cmake Platform/<os>-GNU-<lang>.cmake We use language-independent helper modules Compiler/GNU.cmake Platform/<os>-GNU.cmake to define macros consolidating the information.
* Drop -rdynamic from Linux build rulesBrad King2009-12-013-3/+0
| | | | | | | | | | | | | | | This is a GNU-specific option that should not be specified for all compilers on Linux. It tells the GNU compiler to pass -export-dynamic to the linker to export symbols from executables for use by plugins. Since we provide the ENABLE_EXPORTS target property to do the same thing in a cross-platform way, there is no need to pass -rdynamic always. Since the option is not useful for GNU tools and breaks other tools on Linux we simply remove it from CMAKE_SHARED_LIBRARY_LINK_<lang>_FLAGS. This also allows us to stop setting the variable in other Linux compiler files just to erase the bad flag. See issue #9985.
* Add support for the g95 Fortran compilerBrad King2009-10-231-0/+7
| | | | | | | | | | 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.
* Add initial XL C compiler flags for safer buildsBrad King2009-09-301-0/+5
| | | | | | | This commit adds some default initial C flags for the XL compiler. The most important is "-qhalt=e" which causes the compiler to error-out on non-severe error messages. This is necessary to get try-compiles to fail when bad arguments are passed to a function.
* Split XL compiler information filesBrad King2009-09-303-0/+24
| | | | | | This moves platform-independent XL compiler flags into separate "Compiler/XL-<lang>.cmake" modules. Platform-specific flags go in "Platform/<os>-XL-<lang>.cmake" modules.
* The preprocessing and assembly rules also need the <DEFINES>, otherwise ↵Alexander Neundorf2009-09-192-4/+4
| | | | | | different reults are created. Alex
* Use Intel for Linux flags only on LinuxBrad King2009-09-014-39/+0
| | | | | | The commit "Split Intel compiler information files" moved some Linux specific flags into the platform-independent Intel compiler info files. This moves them back.
* Split SunPro compiler information filesBrad King2009-08-213-0/+71
| | | | | | This moves platform-independent SunPro compiler flags into separate "Compiler/SunPro-<lang>.cmake" modules. Platform-specific flags are left untouched.
* Split Intel compiler information filesBrad King2009-08-214-0/+63
| | | | | | This moves platform-independent Intel compiler flags into separate "Compiler/Intel-<lang>.cmake" modules. Platform-specific flags are left untouched.
* Teach compiler id about VisualAge -> XL rebrandingBrad King2009-08-076-4/+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.
* Move flag to Compiler/VisualAge-Fortran moduleBrad King2009-08-071-0/+1
| | | | | | The CMAKE_Fortran_DEFINE_FLAG value applies to the IBM Fortran compilers on all platforms. This moves the setting to the platform-independent compiler information file.
* Set CMAKE_<LANG>_VERBOSE_FLAG variables for PGIBrad King2009-07-293-0/+3
| | | | | | We set the variables to contain "-v", the verbose front-end output option for PGI compilers. This enables detection of implicit link libraries and directories for these compilers.
* Set CMAKE_<LANG>_VERBOSE_FLAG variables for IntelBrad King2009-07-293-0/+3
| | | | | | We set the variables to contain "-v", the verbose front-end output option for Intel compilers. This enables detection of implicit link libraries and directories for these compilers.
* ENH: Implicit link info for C, CXX, and FortranBrad King2009-07-2315-0/+15
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.