[CMake] FindMPI and setting C/C++ compiler

Michael Wild themiwi at gmail.com
Wed May 26 11:38:51 EDT 2010


On 26. May, 2010, at 17:20 , Marcel Loose wrote:

> Hi all,
> 
> I was wondering how one should use find_package(MPI) to properly set the
> C/C++ compiler(s). Normally, you call find_package() after the project()
> command. However, by that time the CMAKE_<LANG>_COMPILER cache variables
> have already been set. Should one FORCE these cache variables to the
> value of MPI_COMPILER?
> 
> I vaguely remember that setting CMAKE_<LANG>_COMPILER after the
> project() statement was a definite no-no, because all kinds of tests,
> executed by the project() command, are done with the default C/C++
> compilers.
> 
> Best regards,
> Marcel Loose.


Usually mpiCC and cohorts are just wrapper scripts which add appropriate include directories and libraries to the command line. If I remember correctly, FindMPI.cmake detects those and provides them via MPI_COMPILE_FLAGS, MPI_INCLUDE_PATH, MPI_LINK_FLAGS and MPI_LIBRARIES. So, you actually don't need to set the compiler to one of the MPI compiler wrappers.

Michael


More information about the CMake mailing list