setting old GO default values for older trilinos versioins to (hopefully) not break the installation. Adjusting dealii package to just explicitly set GO if trilinos >= 12.18.1 is installed (#15439)
This commit is contained in:
parent
bbb6b14540
commit
b578d55d12
@ -155,7 +155,7 @@ class Dealii(CMakePackage, CudaPackage):
|
||||
depends_on('slepc@:3.6.3', when='@:8.4.1+slepc+petsc+mpi')
|
||||
depends_on('slepc~arpack', when='+slepc+petsc+mpi+int64')
|
||||
depends_on('sundials@:3~pthread', when='@9.0:+sundials')
|
||||
depends_on('trilinos gotype=int', when='+trilinos')
|
||||
depends_on('trilinos gotype=int', when='+trilinos@12.18.1:')
|
||||
# Both Trilinos and SymEngine bundle the Teuchos RCP library.
|
||||
# This leads to conflicts between macros defined in the included
|
||||
# headers when they are not compiled in the same mode.
|
||||
|
@ -712,18 +712,37 @@ def define_tpl_enable(cmake_var, spec_var=None):
|
||||
'explicit_template_instantiation'))
|
||||
|
||||
if '+explicit_template_instantiation' in spec and '+tpetra' in spec:
|
||||
gotype = spec.variants['gotype'].value
|
||||
options.extend([
|
||||
define('Tpetra_INST_DOUBLE', True),
|
||||
define('Tpetra_INST_INT_INT', gotype == 'int'),
|
||||
define('Tpetra_INST_INT_LONG', gotype == 'long'),
|
||||
define('Tpetra_INST_INT_LONG_LONG', gotype == 'long_long'),
|
||||
define('Tpetra_INST_COMPLEX_DOUBLE', complex_s),
|
||||
define('Tpetra_INST_COMPLEX_FLOAT', float_s and complex_s),
|
||||
define('Tpetra_INST_FLOAT', float_s),
|
||||
define('Tpetra_INST_SERIAL', True),
|
||||
])
|
||||
|
||||
gotype = spec.variants['gotype'].value
|
||||
# default in older Trilinos versions to enable multiple GOs
|
||||
if ((gotype == 'none') and spec.satisfies('@:12.14.1')):
|
||||
options.extend([
|
||||
'-DTpetra_INST_INT_INT:BOOL=ON',
|
||||
'-DTpetra_INST_INT_LONG:BOOL=ON',
|
||||
'-DTpetra_INST_INT_LONG_LONG:BOOL=ON'
|
||||
])
|
||||
# set default GO in newer versions to long
|
||||
elif (gotype == 'none'):
|
||||
options.extend([
|
||||
'-DTpetra_INST_INT_INT:BOOL=OFF',
|
||||
'-DTpetra_INST_INT_LONG:BOOL=ON',
|
||||
'-DTpetra_INST_INT_LONG_LONG:BOOL=OFF'
|
||||
])
|
||||
# if another GO is specified, use this
|
||||
else:
|
||||
options.extend([
|
||||
define('Tpetra_INST_INT_INT', gotype == 'int'),
|
||||
define('Tpetra_INST_INT_LONG', gotype == 'long'),
|
||||
define('Tpetra_INST_INT_LONG_LONG', gotype == 'long_long'),
|
||||
])
|
||||
|
||||
# disable due to compiler / config errors:
|
||||
if spec.satisfies('%xl') or spec.satisfies('%xl_r'):
|
||||
options.extend([
|
||||
|
Loading…
Reference in New Issue
Block a user