[CMake] Fortran 90 module support for Pathscale-3.2

Brad King brad.king at kitware.com
Wed Jan 13 09:15:13 EST 2010


Hi Noel,

Michael's explanation in his response was excellent (thanks Michael!).

The generalization that Michael described has been swept through many
of the platform files since 2.8.0 was released.  This refactoring was
needed to get GNU-specific flags out of Linux.cmake before support for
the PathScale compiler could be added.  Now that it's done we should be
able to add PathScale easily using the method Michael described.

Following this message is a patch series to support PathScale.  Please
try it locally and send feedback to me.  If it works I'll include it to
CMake upstream.

K. Noel Belcourt wrote:
> I've started running nightly cmake tests and submitting them to your
> dashboard.  I was hoping the nightly tests would pick up this problem
[snip]
> Is there a way to generalize this and add a test that will
> exercise this capability?

The Fortran test does exercise this capability, and it is running in your
submission.  However, it is using gfortran as the compiler.  In fact your
whole dashboard submission is not really using PathScale.

This is the case for both your PGI submission:

  http://www.cdash.org/CDash/viewTest.php?onlypassed&buildid=513867
  http://www.cdash.org/CDash/testDetails.php?test=40979444&build=513867
  "Check for working Fortran compiler: /usr/bin/gfortran"

and for your PathScale submission:

  http://www.cdash.org/CDash/viewTest.php?onlypassed&buildid=513865
  http://www.cdash.org/CDash/testDetails.php?test=40979444&build=513865
  "Check for working Fortran compiler: /usr/bin/gfortran"

The problem is that in both of your dashboard scripts you set the
compiler environment:

  set(ENV{CC}  ...)
  set(ENV{CXX} ...)
  set(ENV{FC}  ...)

after including the "cmake_common.cmake" script.  That script runs
inline, so it never sees the settings.  Move the ENV lines up to
run before the inclusion.

-Brad

Brad King (2):
  Recognize the PathScale C/C++/Fortran compilers
  PathScale C/C++/Fortran Compiler Information

 Modules/CMakeCCompilerId.c.in            |    3 ++
 Modules/CMakeCXXCompilerId.cpp.in        |    3 ++
 Modules/CMakeFortranCompilerId.F.in      |    2 +
 Modules/Compiler/PathScale-C.cmake       |    4 +++
 Modules/Compiler/PathScale-CXX.cmake     |    4 +++
 Modules/Compiler/PathScale-Fortran.cmake |    4 +++
 Modules/Compiler/PathScale.cmake         |   31 ++++++++++++++++++++++++++++++
 7 files changed, 51 insertions(+), 0 deletions(-)
 create mode 100644 Modules/Compiler/PathScale-C.cmake
 create mode 100644 Modules/Compiler/PathScale-CXX.cmake
 create mode 100644 Modules/Compiler/PathScale-Fortran.cmake
 create mode 100644 Modules/Compiler/PathScale.cmake



More information about the CMake mailing list