trilinos: new variant for the Panzer package (#29256)

* Adding Panzer as Default

* Set Panzer as non-default

* Updated the conflict for Panzer.

* Updated the conflict for Panzer.

* Resolve the issue with Stratimikos and Thyra

* Fixing stk build issues.

* Fixing stk build issues.

* Adding another conflict for Thrya
This commit is contained in:
Keita Teranishi 2022-03-08 11:14:40 -08:00 committed by GitHub
parent 1df9c3437f
commit b2a02861bb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -114,18 +114,20 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
variant('minitensor', default=False, description='Compile with MiniTensor')
variant('muelu', default=True, description='Compile with Muelu')
variant('nox', default=False, description='Compile with NOX')
variant('panzer', default=False, description='Compile with Panzer')
variant('piro', default=False, description='Compile with Piro')
variant('phalanx', default=False, description='Compile with Phalanx')
variant('rol', default=False, description='Compile with ROL')
variant('rythmos', default=False, description='Compile with Rythmos')
variant('sacado', default=True, description='Compile with Sacado')
variant('stk', default=False, description='Compile with STK')
variant('sacado', default=True, description='Compile with Sacado')
variant('stk', default=False, description='Compile with STK')
variant('shards', default=False, description='Compile with Shards')
variant('shylu', default=False, description='Compile with ShyLU')
variant('stokhos', default=False, description='Compile with Stokhos')
variant('stratimikos', default=False, description='Compile with Stratimikos')
variant('teko', default=False, description='Compile with Teko')
variant('tempus', default=False, description='Compile with Tempus')
variant('thyra', default=False, description='Compile with Thyra')
variant('tpetra', default=True, description='Compile with Tpetra')
variant('trilinoscouplings', default=False, description='Compile with TrilinosCouplings')
variant('zoltan', default=False, description='Compile with Zoltan')
@ -193,6 +195,9 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
with when('+teko'):
conflicts('~stratimikos')
conflicts('@:12 gotype=long')
with when('+piro'):
conflicts('~stratimikos')
conflicts('~nox')
# Tpetra stack
with when('~kokkos'):
@ -223,7 +228,26 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
conflicts('~mpi')
conflicts('~stk')
# Panzer is not gen-2 library
with when('+panzer'):
conflicts('~intrepid2')
conflicts('~mpi')
conflicts('~phalanx')
conflicts('~sacado')
conflicts('~tpetra')
conflicts('~thyra')
conflicts('~zoltan')
conflicts('~nox')
conflicts('~rythmos')
conflicts('~piro')
conflicts('~stratimikos')
conflicts('~stk')
conflicts('~ml')
conflicts('~ifpack')
conflicts('~aztec')
# Known requirements from tribits dependencies
conflicts('~thyra', when='+stratimikos')
conflicts('+aztec', when='~fortran')
conflicts('+basker', when='~amesos2')
conflicts('+ifpack2', when='~belos')
@ -299,6 +323,10 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
depends_on('adios2', when='+adios2')
depends_on('blas')
depends_on('boost', when='+boost')
# Need to revisit the requirement of STK
depends_on('boost', when='+stk')
#
depends_on('cgns', when='+exodus')
depends_on('hdf5+hl', when='+hdf5')
depends_on('hypre~internal-superlu~int64', when='+hypre')
@ -508,7 +536,7 @@ def define_enable(suffix, value=None):
define_trilinos_enable('MueLu'),
define_trilinos_enable('NOX'),
define_trilinos_enable('Pamgen', False),
define_trilinos_enable('Panzer', False),
define_trilinos_enable('Panzer'),
define_trilinos_enable('Pike', False),
define_trilinos_enable('Piro'),
define_trilinos_enable('Phalanx'),
@ -524,6 +552,7 @@ def define_enable(suffix, value=None):
define_trilinos_enable('Stratimikos'),
define_trilinos_enable('Teko'),
define_trilinos_enable('Tempus'),
define_trilinos_enable('Thyra'),
define_trilinos_enable('Tpetra'),
define_trilinos_enable('TrilinosCouplings'),
define_trilinos_enable('Zoltan'),
@ -577,7 +606,6 @@ def define_enable(suffix, value=None):
# Thyra is NOT enabled at this point!" leading to eventual build
# errors if using MueLu because `Xpetra_ENABLE_Thyra` is set to
# off.
options.append(define_trilinos_enable('Thyra', True))
# Add thyra adapters based on package enables
options.extend(