[CMake] IBM Fortran and the C Preprocessor

Brad King brad.king at kitware.com
Thu Jun 25 08:47:38 EDT 2009


Will Dicharry wrote:
> It turns out that the problem is not the toolchain file, it's the flag. 
>  Running the following reproduces the problem on both IBMs I have access 
> to:
> 
> $ FC=mpxlf90 FFLAGS="-qfixed=72" cmake ..
> 
> However,
> 
> $ FC=mpxlf90 FFLAGS="-q64" cmake ..
> 
> works just fine on both systems.  How does CMake determine the compiler ID?

I've found the problem.  CMake compiles a source file that has preprocessor
directives to detect the identification.  However, the source file is free
format, so with -qfixed=72 it doesn't compile.

Since I first wrote that detection code I've learned more about Fortran.
I've just converted the compiler id detection to use a source file that
compiles as either fixed for free format.  I scheduled the fix for 2.6.5.

-Brad


ENH: Identify Fortran compilers with fixed format
/cvsroot/CMake/CMake/Modules/CMakeDetermineFortranCompiler.cmake,v  <--  Modules/CMakeDetermineFortranCompiler.cmake
new revision: 1.25; previous revision: 1.24
/cvsroot/CMake/CMake/Modules/CMakeFortranCompilerId.F.in,v  <--  Modules/CMakeFortranCompilerId.F.in
initial revision: 1.1
/cvsroot/CMake/CMake/Modules/CMakeFortranCompilerId.F90.in,v  <--  Modules/CMakeFortranCompilerId.F90.in
new revision: delete; previous revision: 1.3


More information about the CMake mailing list