[CMake] FindMPI uses wrong fortran include path

Jack Stalnaker jack.stalnaker at gmail.com
Wed Feb 10 15:19:10 EST 2016


This seems to be the same issue discussed here:
https://cmake.org/pipermail/cmake-developers/2014-December/023831.html

which refers to a bug marked fixed here:

http://www.cmake.org/Bug/view.php?id=15182


However, I'm still getting the issue in 3.5.0-rc1



On Wed, Feb 10, 2016 at 12:24 PM, Jack Stalnaker <omnijack at gmail.com> wrote:

> Hi,
>
> If I call FindMPI, it successfully finds Intel MPI, including all the
> proper include paths etc. However, when I compile MPI code, I get an error
> message saying that the mod file (called by "use mpi" in the code) was not
> compiled by this compiler. The problem appears to be that the Intel
> compiler suite installed both gfortran and ifort versions of the mod files
> in different include directories like this:
>
> INTELROOT/
>     linux/mpi/intel64/include/gfortran/mpi.mod
>     linux/mpi/intel64/include/mpi.mod
>
> where the first mod is the gfortran mod, and the second is the intel mod.
> Following the call to FindMPI(), the variable MPI_Fortran_INCLUDE_PATH
> contains both, with the gfortran directory first. If I do this:
>
> include_directories(${MPI_Fortran_INCLUDE_PATH})
>
> I get the failure I mentioned, presumably because the compiler tries to
> use the gfortran mod first.
>
> So is there a way to tell the build system to ignore the gfortran mod? I
> cannot assume that the order or contents of MPI_Fortran_INCLUDE_PATH.
>
> Thanks
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20160210/9f43dfce/attachment.html>


More information about the CMake mailing list