diff options
author | Chuck Cranor <chuck@ece.cmu.edu> | 2019-01-29 14:48:03 (GMT) |
---|---|---|
committer | Chuck Cranor <chuck@ece.cmu.edu> | 2019-01-29 14:48:03 (GMT) |
commit | ef8f237686c2a0b51249bfd46d9498abeb019e76 (patch) | |
tree | e25b64c9bb65d5a1c7665b557efb5021ef727a67 /Modules/Compiler/Cray-C.cmake | |
parent | fc96aa03f8a3d3133aaddab27bfc0b684594558b (diff) | |
download | CMake-ef8f237686c2a0b51249bfd46d9498abeb019e76.zip CMake-ef8f237686c2a0b51249bfd46d9498abeb019e76.tar.gz CMake-ef8f237686c2a0b51249bfd46d9498abeb019e76.tar.bz2 |
ParseImplicitIncludeInfo: add SunPro Fortran and PGI compiler, Cray fix
Add implicit include parser for PGI compiler ID. PGI verbose output
for CXX differs from C and Fortran, so CXX is broken out into its own
case. The C and Fortran compilers take "-YI,path" and "-Mnostdinc" to
change or disable the builtin include path. The last arg on the command
line appears to override previous args (e.g. "-YI,path1 -YI,path2" will
set the path to "path2" ... the previous "-YI,path1" gets undone).
The CXX compiler verbose output reports with "-I" rather than "-stdinc"
for the built in path. In addition with CXX "-Mnostdinc" does not
completely zero the include path (e.g. "#include <stdio.h>" still works
with "-Mnostdinc"... "-I/usr/include" still shows up in the verbose output).
Minor adjustments to get the SunPro parser to handle Fortran as well.
Fixes for Cray compiler support (Modules/Compiler/Cray-{C,CXX}.cmake):
The *_COMPILE_OPTION flags contain options like "-h c99,gnu" ...
these options need to be in double quotes (they are currently not).
Otherwise, cmake treats them as lists and tries to run the compiler
with "-h;c99,gnu" and fails when it is "Detecting C compile features"...
Also, the Cray-CXX.cmake contains "__compiler_cray(C)" instead of
"__compiler_cray(CXX)" -- this error prevents the correct VERBOSE
flags for CXX from being defined which prevents the implicit include
parser from running.
Add additional test cases for PGI and SunPro Fortran to the
Tests/RunCMake/ParseImplicitIncludeInfo area.
Diffstat (limited to 'Modules/Compiler/Cray-C.cmake')
-rw-r--r-- | Modules/Compiler/Cray-C.cmake | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/Modules/Compiler/Cray-C.cmake b/Modules/Compiler/Cray-C.cmake index d34154c..b3c96ee 100644 --- a/Modules/Compiler/Cray-C.cmake +++ b/Modules/Compiler/Cray-C.cmake @@ -8,13 +8,13 @@ string(APPEND CMAKE_C_FLAGS_MINSIZEREL_INIT " -DNDEBUG") string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " -DNDEBUG") if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 8.1) - set(CMAKE_C90_STANDARD_COMPILE_OPTION -h noc99,conform) - set(CMAKE_C90_EXTENSION_COMPILE_OPTION -h noc99,gnu) - set(CMAKE_C99_STANDARD_COMPILE_OPTION -h c99,conform) - set(CMAKE_C99_EXTENSION_COMPILE_OPTION -h c99,gnu) + set(CMAKE_C90_STANDARD_COMPILE_OPTION "-h noc99,conform") + set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-h noc99,gnu") + set(CMAKE_C99_STANDARD_COMPILE_OPTION "-h c99,conform") + set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-h c99,gnu") if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 8.5) - set(CMAKE_C11_STANDARD_COMPILE_OPTION -h std=c11,conform) - set(CMAKE_C11_EXTENSION_COMPILE_OPTION -h std=c11,gnu) + set(CMAKE_C11_STANDARD_COMPILE_OPTION "-h std=c11,conform") + set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-h std=c11,gnu") endif () endif () |