From 68c7d3e2ce2fb98980887357dd6308246ea3d64e Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 24 Jun 2010 11:07:19 -0400 Subject: [PATCH] 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. --- Modules/FindMPI.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/FindMPI.cmake b/Modules/FindMPI.cmake index 481b0e994..90e738b7e 100644 --- a/Modules/FindMPI.cmake +++ b/Modules/FindMPI.cmake @@ -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)