summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpaugier <pierre.augier@univ-grenoble-alpes.fr>2024-09-02 17:46:08 +0200
committerEli Schwartz <eschwartz93@gmail.com>2024-09-24 11:30:21 -0400
commit179663523acd3f417f7fdefb83ec31244245d748 (patch)
tree717e7bbfca2361678369bceea96fa65babede8ca
parent901f5dfbf8899c80a4880a81cee91796bd697e71 (diff)
downloadmeson-179663523acd3f417f7fdefb83ec31244245d748.tar.gz
MPI detection: get version from old IntelMPI wrappers
-rw-r--r--mesonbuild/dependencies/mpi.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/mesonbuild/dependencies/mpi.py b/mesonbuild/dependencies/mpi.py
index 14c2560cc..246b31233 100644
--- a/mesonbuild/dependencies/mpi.py
+++ b/mesonbuild/dependencies/mpi.py
@@ -176,18 +176,23 @@ class MPIConfigToolDependency(ConfigToolDependency):
# --version is not the same as -v
p, out = Popen_safe(tool + ['-v'])[:2]
valid = p.returncode == returncode
- out = out.split("\n", maxsplit=1)[0]
+ first_line = out.split('\n', maxsplit=1)[0]
# cases like "mpicc for MPICH version 4.2.2"
- v = re.search(r'\d+.\d+.\d+', out)
+ v = re.search(r'\d+.\d+.\d+', first_line)
if v:
return valid, v.group(0)
# cases like "mpigcc for Intel(R) MPI library 2021.13"
- v = re.search(r'\d+.\d+', out)
+ v = re.search(r'\d+.\d+', first_line)
if v:
return valid, v.group(0)
+ # cases like "mpiifort for the Intel(R) MPI Library 2019 Update 9 for Linux*"
+ v = re.search(r'(\d{4}) Update (\d)', first_line)
+ if v:
+ return valid, f'{v.group(1)}.{v.group(2)}'
+
return valid, None