[CMake] FindMPI doesn't differentiate between languages
Marcel Loose
loose at astron.nl
Mon Dec 20 06:09:31 EST 2010
>>> On 19-12-2010 at 0:04, in message
<A43E19D1-AF96-4935-99FD-705A4CDA7E34 at llnl.gov>, Todd Gamblin
<tgamblin at llnl.gov> wrote:
> 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
Hi Todd,
I think this is a good idea. You might consider taking into account
which languages are currently enabled, either explicitly with
enable_language() or implicitly with project().
Best regards,
Marcel Loose.
--
Marcel Loose
Senior Software Engineer, Computing Group R&D, Astron, the Netherlands
More information about the CMake
mailing list