summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Pfeiffer <cpfeiffer@live.de>2018-01-31 16:43:30 (GMT)
committerChristian Pfeiffer <cpfeiffer@live.de>2018-01-31 16:43:30 (GMT)
commit0def36043f339210d117825a7149fc58c2907cae (patch)
treebd56ab1b06b041c4e9094eafcad768494fffa728
parent9ecbec5e01951e288a405deaba39a41a133fda0a (diff)
downloadCMake-0def36043f339210d117825a7149fc58c2907cae.zip
CMake-0def36043f339210d117825a7149fc58c2907cae.tar.gz
CMake-0def36043f339210d117825a7149fc58c2907cae.tar.bz2
FindMPI: Discard IMPI boilerplate text
Intel MPI on Windows prefixes all outputs with some boilerplate copyright text. By discarding it, we should prevent any potential clashes with our regex parsing.
-rw-r--r--Modules/FindMPI.cmake4
1 files changed, 4 insertions, 0 deletions
diff --git a/Modules/FindMPI.cmake b/Modules/FindMPI.cmake
index 78e1040..4bfbf03 100644
--- a/Modules/FindMPI.cmake
+++ b/Modules/FindMPI.cmake
@@ -521,6 +521,10 @@ function (_MPI_interrogate_compiler LANG)
# We'll normalize this to the - syntax we use for CMake purposes anyways.
if(MSVC)
foreach(_MPI_VARIABLE IN ITEMS COMPILE LINK)
+ # The Intel MPI wrappers on Windows prefix their output with some copyright boilerplate.
+ # To prevent possible problems, we discard this text before proceeding with any further matching.
+ string(REGEX REPLACE "^[^ ]+ for the Intel\\(R\\) MPI Library [^\n]+ for Windows\\*\nCopyright\\(C\\) [^\n]+, Intel Corporation\\. All rights reserved\\.\n\n" ""
+ MPI_${_MPI_VARIABLE}_CMDLINE "${MPI_${_MPI_VARIABLE}_CMDLINE}")
string(REGEX REPLACE "(^| )/" "\\1-" MPI_${_MPI_VARIABLE}_CMDLINE "${MPI_${_MPI_VARIABLE}_CMDLINE}")
string(REPLACE "-libpath:" "-LIBPATH:" MPI_${_MPI_VARIABLE}_CMDLINE "${MPI_${_MPI_VARIABLE}_CMDLINE}")
endforeach()