summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Maynard <rmaynard@nvidia.com>2024-07-01 15:47:00 (GMT)
committerRobert Maynard <rmaynard@nvidia.com>2024-07-01 15:47:00 (GMT)
commit8ba3441bd2e5b5126ad7ad5fbcd5ec97cb853e1e (patch)
tree44df77fdd4a418fc4020e2ee3da6721cf2041ad0
parent69d266e395fa1a546608fa46cc19beb32b944c05 (diff)
downloadCMake-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.cmake3
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)