Prechádzať zdrojové kódy

Teach CMake about Cray C, C++, and Fortran compilers

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).
Brad King 15 rokov pred
rodič
commit
53e76c8f12

+ 3 - 0
Modules/CMakeCCompilerId.c.in

@@ -42,6 +42,9 @@
 #elif defined(__PATHSCALE__)
 # define COMPILER_ID "PathScale"
 
+#elif defined(_CRAYC)
+# define COMPILER_ID "Cray"
+
 #elif defined(__GNUC__)
 # define COMPILER_ID "GNU"
 

+ 3 - 0
Modules/CMakeCXXCompilerId.cpp.in

@@ -44,6 +44,9 @@
 #elif defined(__PATHSCALE__)
 # define COMPILER_ID "PathScale"
 
+#elif defined(_CRAYC)
+# define COMPILER_ID "Cray"
+
 #elif defined(__GNUC__)
 # define COMPILER_ID "GNU"
 

+ 2 - 0
Modules/CMakeFortranCompilerId.F.in

@@ -6,6 +6,8 @@
         PRINT *, 'INFO:compiler[Intel]'
 #elif defined(__SUNPRO_F90) || defined(__SUNPRO_F95)
         PRINT *, 'INFO:compiler[SunPro]'
+#elif defined(_CRAYFTN)
+        PRINT *, 'INFO:compiler[Cray]'
 #elif defined(__G95__)
         PRINT *, 'INFO:compiler[G95]'
 #elif defined(__PATHSCALE__)

+ 1 - 0
Modules/Compiler/Cray-C.cmake

@@ -0,0 +1 @@
+set(CMAKE_C_VERBOSE_FLAG "-v")

+ 1 - 0
Modules/Compiler/Cray-CXX.cmake

@@ -0,0 +1 @@
+set(CMAKE_CXX_VERBOSE_FLAG "-v")

+ 4 - 0
Modules/Compiler/Cray-Fortran.cmake

@@ -0,0 +1,4 @@
+set(CMAKE_Fortran_VERBOSE_FLAG "-v")
+set(CMAKE_Fortran_MODOUT_FLAG -em)
+set(CMAKE_Fortran_MODDIR_FLAG -J)
+set(CMAKE_Fortran_MODDIR_DEFAULT .)