FindMPI: Do not parse -l in middle of library name

We parse the output of 'mpicc -shome:link' to look for -l options
specifying libraries.  Fix the parsing regex to avoid matching the
string '-l' in the middle of a library name.
This commit is contained in:
Brad King 2010-06-24 11:07:19 -04:00
parent ec10d005ce
commit 68c7d3e2ce
1 changed files with 2 additions and 2 deletions

View File

@ -263,13 +263,13 @@ elseif (MPI_COMPILE_CMDLINE)
# Extract the set of libraries to link against from the link command
# line
string(REGEX MATCHALL "-l([^\" ]+|\"[^\"]+\")" MPI_LIBNAMES "${MPI_LINK_CMDLINE}")
string(REGEX MATCHALL "(^| )-l([^\" ]+|\"[^\"]+\")" MPI_LIBNAMES "${MPI_LINK_CMDLINE}")
# Determine full path names for all of the libraries that one needs
# to link against in an MPI program
set(MPI_LIBRARIES)
foreach(LIB ${MPI_LIBNAMES})
string(REGEX REPLACE "^-l" "" LIB ${LIB})
string(REGEX REPLACE "^ ?-l" "" LIB ${LIB})
set(MPI_LIB "MPI_LIB-NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
find_library(MPI_LIB ${LIB} HINTS ${MPI_LINK_PATH})
if (MPI_LIB)