Просмотр исходного кода

FindMPI include parsing better handles leading newlines

When FindMPI parses include output like:
```
 warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
 -I....
 ```
Robert Maynard 1 год назад
Родитель
Сommit
8ba3441bd2
1 измененных файлов с 2 добавлено и 1 удалено
  1. 2 1
      Modules/FindMPI.cmake

+ 2 - 1
Modules/FindMPI.cmake

@@ -683,7 +683,7 @@ function (_MPI_interrogate_compiler LANG)
   endforeach()
 
   # Extract include paths from compile command line
-  string(REGEX MATCHALL "(^| )${_MPI_PREPROCESSOR_FLAG_REGEX}${CMAKE_INCLUDE_FLAG_${LANG}} *([^\" ]+|\"[^\"]+\")"
+  string(REGEX MATCHALL "(^|\n| )${_MPI_PREPROCESSOR_FLAG_REGEX}${CMAKE_INCLUDE_FLAG_${LANG}} *([^\" ]+|\"[^\"]+\")"
     MPI_ALL_INCLUDE_PATHS "${MPI_COMPILE_CMDLINE}")
 
   # If extracting failed to work, we'll try using -showme:incdirs.
@@ -698,6 +698,7 @@ function (_MPI_interrogate_compiler LANG)
 
   foreach(_MPI_INCLUDE_PATH IN LISTS MPI_ALL_INCLUDE_PATHS)
     string(REGEX REPLACE "^ ?${_MPI_PREPROCESSOR_FLAG_REGEX}${CMAKE_INCLUDE_FLAG_${LANG}} *" "" _MPI_INCLUDE_PATH "${_MPI_INCLUDE_PATH}")
+    string(REPLACE "\n" "" _MPI_INCLUDE_PATH "${_MPI_INCLUDE_PATH}")
     string(REPLACE "\"" "" _MPI_INCLUDE_PATH "${_MPI_INCLUDE_PATH}")
     string(REPLACE "'" "" _MPI_INCLUDE_PATH "${_MPI_INCLUDE_PATH}")
     get_filename_component(_MPI_INCLUDE_PATH "${_MPI_INCLUDE_PATH}" REALPATH)