Skip to content

Commit ca73491

Browse files
committed
cmake: rework how MPI compiler wrappers are handled
we now require the user to specify the MPI compiler wrappers to be defined as the main compilers via CMAKE_<LANG>_COMPILER or alike
1 parent 983dc33 commit ca73491

File tree

3 files changed

+8
-22
lines changed

3 files changed

+8
-22
lines changed

CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,12 @@ option(pfasst_DEFAULT_RAND_SEED "Using a hardcoded random seed"
2525

2626
if(${pfasst_WITH_MPI})
2727
find_package(MPI REQUIRED)
28-
message(STATUS "Using MPI C++ Compiler: ${MPI_CXX_COMPILER}")
28+
if(NOT "${CMAKE_CXX_COMPILER}" STREQUAL "${MPI_CXX_COMPILER}")
29+
message(STATUS "C++ Compiler: ${CMAKE_CXX_COMPILER}")
30+
message(STATUS "MPI C++ Compiler Wrapper: ${MPI_CXX_COMPILER}")
31+
message(FATAL_ERROR "Please make sure to set CXX and CC to the MPI compiler wrappers!")
32+
endif()
33+
message(STATUS "Using MPI C++ Compiler Wrapper: ${MPI_CXX_COMPILER}")
2934
add_definitions(-DWITH_MPI)
3035
endif()
3136

examples/advection_diffusion/CMakeLists.txt

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -41,17 +41,4 @@ foreach(example ${all_advec_examples})
4141
endif()
4242
endforeach(example)
4343

44-
if(${pfasst_WITH_MPI})
45-
include_directories(${MPI_CXX_INCLUDE_PATH})
46-
foreach(example ${advec_mpi_examples})
47-
if(MPI_COMPILE_FLAGS)
48-
set_target_properties(${example} PROPERTIES COMPILE_FLAGS "${MPI_COMPILE_FLAGS}")
49-
endif()
50-
if(MPI_LINK_FLAGS)
51-
set_target_properties(${example} PROPERTIES LINK_FLAGS "${MPI_LINK_FLAGS}")
52-
endif()
53-
target_link_libraries(${example} ${MPI_CXX_LIBRARIES})
54-
endforeach(example)
55-
endif()
56-
5744
set(examples_to_install ${examples_to_install} ${all_advec_examples} PARENT_SCOPE)

tests/examples/advection_diffusion/CMakeLists.txt

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,25 +27,19 @@ if(${pfasst_WITH_MPI})
2727
if(MPI_COMPILE_FLAGS)
2828
if(pfasst_WITH_GCC_PROF AND ${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
2929
set_target_properties(${test}
30-
PROPERTIES COMPILE_FLAGS "${MPI_COMPILE_FLAGS} -ftest-coverage -fprofile-arcs"
30+
PROPERTIES COMPILE_FLAGS "-ftest-coverage -fprofile-arcs"
3131
LINK_FLAGS "-fprofile-arcs"
3232
)
33-
else()
34-
set_target_properties(${test} PROPERTIES COMPILE_FLAGS "${MPI_COMPILE_FLAGS}")
3533
endif()
3634
endif()
37-
if(MPI_LINK_FLAGS)
38-
set_target_properties(${test} PROPERTIES LINK_FLAGS "${MPI_LINK_FLAGS}")
39-
endif()
4035
target_link_libraries(${test}
4136
${3rdparty_DEPENDEND_LIBS}
4237
${TESTS_3rdparty_DEPENDEND_LIBS}
4338
${FFTW_LIBRARIES}
4439
${pfasst_DEPENDEND_LIBS}
45-
${MPI_CXX_LIBRARIES}
4640
)
4741
add_test(NAME ${test}
48-
COMMAND ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 4 ${MPIEXEC_PREFLAGS} ${CMAKE_BINARY_DIR}/tests/examples/advection_diffusion/${test} ${MPIEXEC_POSTFLAGS} --gtest_output=xml:${test}_out.xml
42+
COMMAND ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 4 ${CMAKE_BINARY_DIR}/tests/examples/advection_diffusion/${test} --gtest_output=xml:${test}_out.xml
4943
)
5044
endforeach(test)
5145
else()

0 commit comments

Comments
 (0)