summaryrefslogtreecommitdiffstats
path: root/Modules/Compiler/Cray-C.cmake
diff options
context:
space:
mode:
authorChuck Cranor <chuck@ece.cmu.edu>2019-01-29 14:48:03 (GMT)
committerChuck Cranor <chuck@ece.cmu.edu>2019-01-29 14:48:03 (GMT)
commitef8f237686c2a0b51249bfd46d9498abeb019e76 (patch)
treee25b64c9bb65d5a1c7665b557efb5021ef727a67 /Modules/Compiler/Cray-C.cmake
parentfc96aa03f8a3d3133aaddab27bfc0b684594558b (diff)
downloadCMake-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.cmake12
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 ()