FindMPI: handle trailing slash from $MSMPI_BIN

When installing, MSMPI puts a trailing backslash in the MSMPI_BIN
environment variable. This causes trouble when concatenating in CMake
since the list separator is now escaped and no longer a list separator
due to the trailing backslash. Instead, use file(TO_CMAKE_PATH) to make
the path CMake-friendly.
This commit is contained in:
Ben Boeckel 2015-01-12 09:21:23 -05:00 committed by Brad King
parent 4aa9c64511
commit 68857ccd82
1 changed files with 3 additions and 1 deletions

View File

@ -175,7 +175,9 @@ set(_MPI_EXEC_NAMES mpiexec mpirun lamexec srun)
set(_MPI_PREFIX_PATH) set(_MPI_PREFIX_PATH)
if(WIN32) if(WIN32)
# MSMPI # MSMPI
list(APPEND _MPI_PREFIX_PATH "$ENV{MSMPI_BIN}") file(TO_CMAKE_PATH "$ENV{MSMPI_BIN}" msmpi_bin_path) # The default path ends with a '\' and doesn't mix with ';' when appending.
list(APPEND _MPI_PREFIX_PATH "${msmpi_bin_path}")
unset(msmpi_bin_path)
list(APPEND _MPI_PREFIX_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MPI;InstallRoot]/Bin") list(APPEND _MPI_PREFIX_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MPI;InstallRoot]/Bin")
list(APPEND _MPI_PREFIX_PATH "$ENV{MSMPI_INC}/..") # The SDK is installed separately from the runtime list(APPEND _MPI_PREFIX_PATH "$ENV{MSMPI_INC}/..") # The SDK is installed separately from the runtime
# MPICH # MPICH