summaryrefslogtreecommitdiffstats
path: root/Modules/Compiler/XL-CXX.cmake
Commit message (Collapse)AuthorAgeFilesLines
* XL: Use common compiler macros for language standard defaultChuck Atkins2017-05-021-33/+20
|
* XL: Add C and C++ language level flagsChuck Atkins2017-04-281-1/+53
|
* XL: Fix the use of the -qhalt flag for varying OSsChuck Atkins2017-04-271-2/+1
| | | | | | | | | | | | | | The valid settings to pass to the IBM XL compiler for the -qhalt flag vary widely by language and platform. Based on existing documentation, the following table shows which error levels are valid to pass to -qhalt= since -qhalt=e is not always available. OS | xlc | xlC | xlf | ---------|-------|------------------ AIX | iwes | iw s | ilwesu | BlueGene | iwes | iwes | ilwesu | OS X | iwesu | iwesu | ilwesu | Linux | w | w | ilwesu |
* Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain filesBrad King2016-07-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | Document these variables. Change our convention for setting these variables from: set(CMAKE_C_FLAGS_INIT "...") to string(APPEND CMAKE_C_FLAGS_INIT " ...") so that any value previously set by a toolchain file will be used. Automate the conversion with: sed -i 's/set *(\(CMAKE_\(C\|CXX\|Fortran\|RC\|ASM\|${[^}]\+}\)_FLAGS\(_[^_]\+\)\?_INIT \+"\)/string(APPEND \1 /' \ Modules/Compiler/*.cmake Modules/Platform/*.cmake and follow up with some manual fixes (e.g. to cases that already meant to append). Also revert the automated changes to contexts that are not protected from running multiple times.
* Factor an <INCLUDES> placeholder out of <FLAGS> in rule variablesBrad King2015-07-131-1/+1
| | | | | | | | | | | Teach the Makefile and Ninja generators to substitute for an <INCLUDES> placeholder instead of putting -I in <FLAGS>. Update our values for CMAKE_<LANG>_COMPILE_OBJECT, CMAKE_<LANG>_CREATE_ASSEMBLY_SOURCE, and CMAKE_<LANG>_CREATE_PREPROCESSED_SOURCE to place <INCLUDES> just before <FLAGS>.
* Convert CMake-language commands to lower caseKitware Robot2012-08-131-2/+2
| | | | | | | | | | | | | | | | | 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
* XL: Consolidate compiler flag informationBrad King2011-04-071-9/+4
| | | | | | Factor duplicate information out of Compiler/XL-<lang>.cmake modules into a macro in a new Compiler/XL.cmake module. Invoke it from the per-language files to produce the original settings.
* XL: Set C++ and Fortran flags consistently with CBrad King2011-04-071-0/+4
| | | | | | Since commit e1729238 (Add initial XL C compiler flags for safer builds, 2009-09-30) CMake sets the initial XL C flags to include "-qthreaded" and "-qhalt=e". Do the same for C++ and Fortran with this toolchain.
* Split XL compiler information filesBrad King2009-09-301-0/+11
| | | | | | 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.
* Teach compiler id about VisualAge -> XL rebrandingBrad King2009-08-071-0/+1
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.