[CMake] FindMPI doesn't differentiate between languages

Todd Gamblin tgamblin at llnl.gov
Sat Dec 18 18:04:09 EST 2010


Hey all,

This has been brought up before (sort of) here:

	http://thread.gmane.org/gmane.comp.programming.tools.cmake.user/26533

FindMPI doesn't currently give you the libraries, includes, etc. for different languages. MPI compilers can (and typically do) have different includes/libraries depending on the language you're using.  It was noted above that you don't get the fortran libraries for MPI using the current macro.  Another problem with the current setup is that you're also likely to inadvertently get the C++ includes with the current FindMPI, unless you explicitly disable them using things like -DOMPI_SKIP_MPICXX.  This can get you unwanted C++ symbols in your MPI libraries (because the MPI C++ interface and headers suck, but that's a whole different story).

I'd be interested in fixing this.  But I would like guidance on how to do it.  My inclination would be to make a new version that gives you not just MPI_FOUND, MPI_LIBRARIES, etc.. but MPI_<LANG>_FOUND, MPI_<LANG>_LIBRARIES, MPI_<LANG>_INCLUDE_PATH, etc.  If you read the thread above, someone suggested using components for this back in January, but that was left on the table and seems not to have been implemented.

What's the best way to implement proper language support in the FindMPI module?

-Todd


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20101218/06ce9253/attachment.htm>


More information about the CMake mailing list