diff options
author | Robert Maynard <rmaynard@nvidia.com> | 2024-07-01 15:47:00 (GMT) |
---|---|---|
committer | Robert Maynard <rmaynard@nvidia.com> | 2024-07-01 15:47:00 (GMT) |
commit | 8ba3441bd2e5b5126ad7ad5fbcd5ec97cb853e1e (patch) | |
tree | 44df77fdd4a418fc4020e2ee3da6721cf2041ad0 | |
parent | 69d266e395fa1a546608fa46cc19beb32b944c05 (diff) | |
download | CMake-8ba3441bd2e5b5126ad7ad5fbcd5ec97cb853e1e.zip CMake-8ba3441bd2e5b5126ad7ad5fbcd5ec97cb853e1e.tar.gz CMake-8ba3441bd2e5b5126ad7ad5fbcd5ec97cb853e1e.tar.bz2 |
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....
```
-rw-r--r-- | Modules/FindMPI.cmake | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Modules/FindMPI.cmake b/Modules/FindMPI.cmake index aa322ac..0f06c57 100644 --- a/Modules/FindMPI.cmake +++ b/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) |