FindMPI: Fix regression when compiling with MPI wrappers

The change in commit 5861c6d450 (FindMPI: Preserve include order when
extracting component directories, 2019-12-19) converted a CMake-language
function to a macro.  However, it contains a `return()` call that now
applies in the caller's scope, which is in correct.  The `return()` is
meant to skip work when using a MPI compiler wrapper as the main
compiler.  Move that condition to the call site instead.

Fixes: #20234
This commit is contained in:
Brad King
2020-01-21 10:38:16 -05:00
parent 320ad3f31f
commit 8217a26d29

View File

@@ -1060,9 +1060,6 @@ macro(_MPI_assemble_libraries LANG)
endmacro()
macro(_MPI_split_include_dirs LANG)
if("${MPI_${LANG}_COMPILER}" STREQUAL "${CMAKE_${LANG}_COMPILER}")
return()
endif()
# Backwards compatibility: Search INCLUDE_PATH if given.
if(MPI_${LANG}_INCLUDE_PATH)
list(APPEND MPI_${LANG}_ADDITIONAL_INCLUDE_DIRS "${MPI_${LANG}_INCLUDE_PATH}")
@@ -1475,7 +1472,9 @@ foreach(LANG IN ITEMS C CXX Fortran)
endif()
endif()
_MPI_split_include_dirs(${LANG})
if(NOT "${MPI_${LANG}_COMPILER}" STREQUAL "${CMAKE_${LANG}_COMPILER}")
_MPI_split_include_dirs(${LANG})
endif()
_MPI_assemble_libraries(${LANG})
_MPI_adjust_compile_definitions(${LANG})