seacas: new release and fixes for metis/parmetis (#26310)

* seacas: new release and fixes for metis/parmetis

* Update to add sha256 checksum for latest seacas release

* Updated the documentation strings with new applications

* Fixed the metis/parmetis variants and logic depending on whether mpi
  is enabled/disabled. (There is still a zoltan issue I need to fix,
  but this will at least allow seacas to be built without
  metis/parmetis or with +mpi+parmetis.  The ~mpi+metis still needs
  work elsewhere.)

* Enable cpup, slice, zellij in +applications
This commit is contained in:
Greg Sjaardema 2021-09-29 08:53:49 -06:00 committed by GitHub
parent 9d39a1bf42
commit 5132cfcc63
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -18,7 +18,7 @@ class Seacas(CMakePackage):
"""The SEACAS Project contains the Exodus and IOSS libraries and a
collection of applications which create, query, modify, or
translate exodus databases. Default is to build the exodus and
IOSS libraries and the io_shell, io_info, struc_to_unstruc apps.
IOSS libraries and the io_shell, io_info, io_modify, struc_to_unstruc apps.
"""
homepage = "https://gsjaardema.github.io/seacas/"
git = "https://github.com/gsjaardema/seacas.git"
@ -27,6 +27,7 @@ class Seacas(CMakePackage):
# ###################### Versions ##########################
version('master', branch='master')
version('2021-09-30', sha256='5d061e35e93eb81214da3b67ddda2829cf5efed38a566be6363a9866ba2f9ab3')
version('2021-05-12', sha256='92663767f0317018d6f6e422e8c687e49f6f7eb2b92e49e837eb7dc0ca0ac33d')
version('2021-04-05', sha256='76f66eec1fec7aba30092c94c7609495e6b90d9dcb6f35b3ee188304d02c6e04')
version('2021-01-20', sha256='7814e81981d03009b6816be3eb4ed3845fd02cc69e006ee008a2cbc85d508246')
@ -47,9 +48,9 @@ class Seacas(CMakePackage):
variant('applications', default=True,
description='Build all "current" SEACAS applications. This'
' includes a debatable list of essential applications: '
'aprepro, conjoin, ejoin, epu, exo2mat, mat2exo, '
'exo_format, exodiff, explore, grepos, '
'nemslice, nemspread')
'aprepro, conjoin, cpup, ejoin, epu, exo2mat, mat2exo, '
'exo_format, exodiff, explore, grepos, io_shell, io_info, '
'io_modify, nemslice, nemspread, zellij')
variant('legacy', default=True,
description='Build all "legacy" SEACAS applications. This includes'
' a debatable list of "legacy" applications: algebra, blot, '
@ -90,8 +91,9 @@ class Seacas(CMakePackage):
depends_on('adios2@develop~mpi', when='+adios2 ~mpi')
depends_on('adios2@develop+mpi', when='+adios2 +mpi')
depends_on('matio', when='+matio')
depends_on('metis+int64+real64', when='+metis ~mpi')
depends_on('parmetis+int64+real64', when='+metis +mpi')
with when('+metis'):
depends_on('metis+int64+real64')
depends_on('parmetis+int64', when='+mpi')
# MPI related dependencies
depends_on('mpi', when='+mpi')
@ -156,6 +158,7 @@ def cmake_args(self):
'-DSEACASProj_ENABLE_SEACASAprepro:BOOL=ON',
'-DSEACASProj_ENABLE_SEACASAprepro_lib:BOOL=ON',
'-DSEACASProj_ENABLE_SEACASConjoin:BOOL=ON',
'-DSEACASProj_ENABLE_SEACASCpup:BOOL=ON',
'-DSEACASProj_ENABLE_SEACASEjoin:BOOL=ON',
'-DSEACASProj_ENABLE_SEACASEpu:BOOL=ON',
'-DSEACASProj_ENABLE_SEACASExo2mat:BOOL=ON',
@ -168,6 +171,7 @@ def cmake_args(self):
'-DSEACASProj_ENABLE_SEACASNemslice:BOOL=ON',
'-DSEACASProj_ENABLE_SEACASNemspread:BOOL=ON',
'-DSEACASProj_ENABLE_SEACASSlice:BOOL=ON',
'-DSEACASProj_ENABLE_SEACASZellij:BOOL=ON',
])
if '+legacy' in spec:
@ -198,7 +202,7 @@ def cmake_args(self):
'-DNetCDF_ROOT:PATH=%s' % spec['netcdf-c'].prefix,
])
if '+metis' in spec:
if '+parmetis' in spec:
options.extend([
'-DTPL_ENABLE_METIS:BOOL=ON',
'-DMETIS_LIBRARY_DIRS=%s' % spec['metis'].prefix.lib,
@ -212,6 +216,14 @@ def cmake_args(self):
spec['parmetis'].prefix.include,
spec['metis'].prefix.include)
])
elif '+metis' in spec:
options.extend([
'-DTPL_ENABLE_METIS:BOOL=ON',
'-DMETIS_LIBRARY_DIRS=%s' % spec['metis'].prefix.lib,
'-DMETIS_LIBRARY_NAMES=metis',
'-DTPL_METIS_INCLUDE_DIRS=%s' % spec['metis'].prefix.include,
'-DTPL_ENABLE_ParMETIS:BOOL=OFF',
])
else:
options.extend([
'-DTPL_ENABLE_METIS:BOOL=OFF',