mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-16 17:22:55 +00:00
FindMPI works with CMake 3.8's separate_arguments
CMake 3.8 separate_arguments command doesn't support NATIVE_COMMAND so we have to do that logic for it.
This commit is contained in:
parent
1f99fbc357
commit
978650b063
@ -306,6 +306,19 @@ set(_MPI_XL_Fortran_COMPILER_NAMES mpixlf95 mpixlf95_r mpxlf95 mpxlf95
|
|||||||
mpixlf77 mpixlf77_r mpxlf77 mpxlf77_r
|
mpixlf77 mpixlf77_r mpxlf77 mpxlf77_r
|
||||||
mpixlf mpixlf_r mpxlf mpxlf_r)
|
mpixlf mpixlf_r mpxlf mpxlf_r)
|
||||||
|
|
||||||
|
# Allow CMake 3.8.0 to use OS specific `separate_arguments` signature.
|
||||||
|
# Otherwise use the 3.9 NATIVE_COMMAND feature that does this for us
|
||||||
|
# automatically
|
||||||
|
if (CMAKE_VERSION VERSION_LESS "3.9.0")
|
||||||
|
if (WIN32 AND NOT CYGWIN)
|
||||||
|
set(_MPI_parse_kind WINDOWS_COMMAND)
|
||||||
|
else ()
|
||||||
|
set(_MPI_parse_kind UNIX_COMMAND)
|
||||||
|
endif ()
|
||||||
|
else ()
|
||||||
|
set(_MPI_parse_kind NATIVE_COMMAND)
|
||||||
|
endif ()
|
||||||
|
|
||||||
# Prepend vendor-specific compiler wrappers to the list. If we don't know the compiler,
|
# Prepend vendor-specific compiler wrappers to the list. If we don't know the compiler,
|
||||||
# attempt all of them.
|
# attempt all of them.
|
||||||
# By attempting vendor-specific compiler names first, we should avoid situations where the compiler wrapper
|
# By attempting vendor-specific compiler names first, we should avoid situations where the compiler wrapper
|
||||||
@ -340,9 +353,9 @@ unset(_MPIEXEC_NAMES_BASE)
|
|||||||
|
|
||||||
function (_MPI_check_compiler LANG QUERY_FLAG OUTPUT_VARIABLE RESULT_VARIABLE)
|
function (_MPI_check_compiler LANG QUERY_FLAG OUTPUT_VARIABLE RESULT_VARIABLE)
|
||||||
if(DEFINED MPI_${LANG}_COMPILER_FLAGS)
|
if(DEFINED MPI_${LANG}_COMPILER_FLAGS)
|
||||||
separate_arguments(_MPI_COMPILER_WRAPPER_OPTIONS NATIVE_COMMAND "${MPI_${LANG}_COMPILER_FLAGS}")
|
separate_arguments(_MPI_COMPILER_WRAPPER_OPTIONS ${_MPI_parse_kind} "${MPI_${LANG}_COMPILER_FLAGS}")
|
||||||
else()
|
else()
|
||||||
separate_arguments(_MPI_COMPILER_WRAPPER_OPTIONS NATIVE_COMMAND "${MPI_COMPILER_FLAGS}")
|
separate_arguments(_MPI_COMPILER_WRAPPER_OPTIONS ${_MPI_parse_kind} "${MPI_COMPILER_FLAGS}")
|
||||||
endif()
|
endif()
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND ${MPI_${LANG}_COMPILER} ${_MPI_COMPILER_WRAPPER_OPTIONS} ${QUERY_FLAG}
|
COMMAND ${MPI_${LANG}_COMPILER} ${_MPI_COMPILER_WRAPPER_OPTIONS} ${QUERY_FLAG}
|
||||||
@ -630,7 +643,7 @@ function (_MPI_interrogate_compiler LANG)
|
|||||||
if (NOT MPI_ALL_INCLUDE_PATHS)
|
if (NOT MPI_ALL_INCLUDE_PATHS)
|
||||||
_MPI_check_compiler(${LANG} "-showme:incdirs" MPI_INCDIRS_CMDLINE MPI_INCDIRS_COMPILER_RETURN)
|
_MPI_check_compiler(${LANG} "-showme:incdirs" MPI_INCDIRS_CMDLINE MPI_INCDIRS_COMPILER_RETURN)
|
||||||
if(MPI_INCDIRS_COMPILER_RETURN)
|
if(MPI_INCDIRS_COMPILER_RETURN)
|
||||||
separate_arguments(MPI_ALL_INCLUDE_PATHS NATIVE_COMMAND "${MPI_INCDIRS_CMDLINE}")
|
separate_arguments(MPI_ALL_INCLUDE_PATHS ${_MPI_parse_kind} "${MPI_INCDIRS_CMDLINE}")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -698,7 +711,7 @@ function (_MPI_interrogate_compiler LANG)
|
|||||||
if (NOT MPI_ALL_LINK_PATHS)
|
if (NOT MPI_ALL_LINK_PATHS)
|
||||||
_MPI_check_compiler(${LANG} "-showme:libdirs" MPI_LIBDIRS_CMDLINE MPI_LIBDIRS_COMPILER_RETURN)
|
_MPI_check_compiler(${LANG} "-showme:libdirs" MPI_LIBDIRS_CMDLINE MPI_LIBDIRS_COMPILER_RETURN)
|
||||||
if(MPI_LIBDIRS_COMPILER_RETURN)
|
if(MPI_LIBDIRS_COMPILER_RETURN)
|
||||||
separate_arguments(MPI_ALL_LINK_PATHS NATIVE_COMMAND "${MPI_LIBDIRS_CMDLINE}")
|
separate_arguments(MPI_ALL_LINK_PATHS ${_MPI_parse_kind} "${MPI_LIBDIRS_CMDLINE}")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -1157,7 +1170,7 @@ macro(_MPI_create_imported_target LANG)
|
|||||||
|
|
||||||
set_property(TARGET MPI::MPI_${LANG} PROPERTY INTERFACE_LINK_LIBRARIES "")
|
set_property(TARGET MPI::MPI_${LANG} PROPERTY INTERFACE_LINK_LIBRARIES "")
|
||||||
if(MPI_${LANG}_LINK_FLAGS)
|
if(MPI_${LANG}_LINK_FLAGS)
|
||||||
separate_arguments(_MPI_${LANG}_LINK_FLAGS NATIVE_COMMAND "${MPI_${LANG}_LINK_FLAGS}")
|
separate_arguments(_MPI_${LANG}_LINK_FLAGS ${_MPI_parse_kind} "${MPI_${LANG}_LINK_FLAGS}")
|
||||||
if(CMAKE_VERSION VERSION_LESS 3.13)
|
if(CMAKE_VERSION VERSION_LESS 3.13)
|
||||||
set_property(TARGET MPI::MPI_${LANG} APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${_MPI_${LANG}_LINK_FLAGS}")
|
set_property(TARGET MPI::MPI_${LANG} APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${_MPI_${LANG}_LINK_FLAGS}")
|
||||||
else()
|
else()
|
||||||
@ -1349,7 +1362,7 @@ if(NOT MPI_IGNORE_LEGACY_VARIABLES)
|
|||||||
unset(MPI_${LANG}_EXTRA_COMPILE_DEFINITIONS)
|
unset(MPI_${LANG}_EXTRA_COMPILE_DEFINITIONS)
|
||||||
unset(MPI_${LANG}_EXTRA_COMPILE_OPTIONS)
|
unset(MPI_${LANG}_EXTRA_COMPILE_OPTIONS)
|
||||||
if(MPI_${LANG}_COMPILE_FLAGS)
|
if(MPI_${LANG}_COMPILE_FLAGS)
|
||||||
separate_arguments(MPI_SEPARATE_FLAGS NATIVE_COMMAND "${MPI_${LANG}_COMPILE_FLAGS}")
|
separate_arguments(MPI_SEPARATE_FLAGS ${_MPI_parse_kind} "${MPI_${LANG}_COMPILE_FLAGS}")
|
||||||
foreach(_MPI_FLAG IN LISTS MPI_SEPARATE_FLAGS)
|
foreach(_MPI_FLAG IN LISTS MPI_SEPARATE_FLAGS)
|
||||||
if("${_MPI_FLAG}" MATCHES "^ *-D([^ ]+)")
|
if("${_MPI_FLAG}" MATCHES "^ *-D([^ ]+)")
|
||||||
list(APPEND MPI_${LANG}_EXTRA_COMPILE_DEFINITIONS "${CMAKE_MATCH_1}")
|
list(APPEND MPI_${LANG}_EXTRA_COMPILE_DEFINITIONS "${CMAKE_MATCH_1}")
|
||||||
|
Loading…
Reference in New Issue
Block a user