I've run into a problem with the configuration of the MPI wrappers, which has been waiting to happen. We even have a comment in CMakeLists.text
# FIXME: Should be set CMake to use the MPI compiler wrappers? The problem is that FindMPI.cmake can't handle the intricacies of MPI wrappers by just parsing the output of 'mpicc -show'. The immediate issue is that the Intel MPI wrappers take flags that lead to different library choices (e.g. serial or thread MPI). With the present build system, we can't launch threads from MPI processes with Intel MPI. The simple and robust fix is that a user specifies their compiler via the environment variable CC, CXX, etc or uses -D CMAKE_C_COMPILER=mpicc -D CMAKE_CXX_COMPILER=mpicxx This is the Trilinos approach. For builds of non-MPI code, nothing special would be needed. Other approaches are not advocated by the developers of various package. MPI devs advice against not using the wrappers (we don't use them, hence our problem) and CMake advises against changing the compiler inside CMakeLists.txt files (the above two approaches are advovated). Opinions? Garth _______________________________________________ Mailing list: https://launchpad.net/~dolfin Post to : dolfin@lists.launchpad.net Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp