Honest Guvnor wrote:
On Jan 29, 2008 6:21 PM, Bill Hoffman <[EMAIL PROTECTED]> wrote:
Good Fortran support is relatively new to CMake.  In fact, CVS CMake is
really the only version that handles all the Fortran depend stuff
reliably.  CMake relies on the compiler to provide the correct run time
libraries.  If you build with a C++ compiler, it will automatically link
in the run time libraries for C++ that go with that compiler.  If you
link with a fortran compiler, it will get the run time libraries for the
fortran compiler.  So, CMake has not had to "care" about system runtime
libraries.  It is easy to mix C with anything because both Fortran and
C++ always link in the C runtime libraries by default.    Anyway, it is
what it is.  If you figure something out, we could add it to the cmake
modules directory.

Thanks for making the current status clear. I had not anticipated
working with cmake at this level but, then again, I am not sure the
alternatives currently serve our needs any better. I will take a look
at the CVS version next week.

My guess on the implementation for this would be creating a new variable in cmake CMAKE_Fortran_RUNTIME_LIBRARY. It would be defined in the Platform/(FortranCompiler).cmake file. If you do a google search on mixed link c++ fortran, you can see that each compiler vendor suggests the same sort of thing. Of course the runtime library for fortran is called something else for each one...

So, for now, you could do this:

1. put all the fortran code into a shared library
2. put if stuff in your cmake files that create the CMAKE_Fortran_RUNTIME_LIBRARY variable for you.

If you create a list of values for CMAKE_Fortran_RUNTIME_LIBRARY, I would be happy to put them into CVS CMake's Platform files.

-Bill

_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to