使用CMake强制特定MPI编译器
我想用CMake设置一个特定的MPI编译器(使用CMake强制特定MPI编译器,cmake,Cmake,我想用CMake设置一个特定的MPI编译器(mpiFort)。当然,不是编译器,而是从中获取库并包含目录。但是路径中也有mpif90,它在引擎盖下使用gfortran,并且有一组不同的include dir和库。CMake中的FindMPI模块似乎坚持首先定位mpif90,因此设置了错误的路径 我尝试过在命令行中设置MPI\u Fortran\u COMPILER=mpiifort,或者设置FC=mpiifort,但都不起作用。到目前为止,我找到的唯一解决方法是在当前目录中创建一个符号链接mpi
mpiFort
)。当然,不是编译器,而是从中获取库并包含目录。但是路径中也有mpif90
,它在引擎盖下使用gfortran
,并且有一组不同的include dir和库。CMake中的FindMPI
模块似乎坚持首先定位mpif90
,因此设置了错误的路径
我尝试过在命令行中设置MPI\u Fortran\u COMPILER=mpiifort
,或者设置FC=mpiifort
,但都不起作用。到目前为止,我找到的唯一解决方法是在当前目录中创建一个符号链接mpif90->mpifort
,并添加\u MPI\u PREFIX\u PATH=。
。还有其他想法吗
编辑:我尝试了环境变量MPI\u Fortran\u COMPILER
,但我不得不设置CMake变量。因此,这起了作用:
FC=ifort CC=icc cmake -D MPI_Fortran_COMPILER=mpiifort ...
根据消息来源,如果设置MPI_Fortran_编译器不起作用,那么您可以简单地设置MPI_Fortran_库和MPI_Fortran_INCLUDE_路径