deal.II: add v9.4.0 (#31279)
This commit is contained in:
parent
ffcd9282b5
commit
f6d701ca26
@ -26,6 +26,7 @@ class Dealii(CMakePackage, CudaPackage):
|
||||
generator = 'Ninja'
|
||||
|
||||
version('master', branch='master')
|
||||
version('9.4.0', sha256='238677006cd9173658e5b69cdd1861f800556982db6005a3cc5eb8329cc1e36c')
|
||||
version('9.3.3', sha256='5dfb59174b341589e92b434398a1b7cc11ad053ce2315cf673f5efc5ba271a29')
|
||||
version('9.3.2', sha256='5341d76bfd75d3402fc6907a875513efb5fe8a8b99af688d94443c492d5713e8')
|
||||
version('9.3.1', sha256='a62f4676ab2dc029892251d141427fb75cbb83cddd606019f615d0dde9c61ab8')
|
||||
@ -73,6 +74,8 @@ class Dealii(CMakePackage, CudaPackage):
|
||||
description='Compile with Arpack and PArpack (only with MPI)')
|
||||
variant('adol-c', default=True,
|
||||
description='Compile with ADOL-C')
|
||||
variant('cgal', default=True, when='@9.4:',
|
||||
description='Compile with CGAL')
|
||||
variant('ginkgo', default=True,
|
||||
description='Compile with Ginkgo')
|
||||
variant('gmsh', default=True,
|
||||
@ -167,7 +170,7 @@ class Dealii(CMakePackage, CudaPackage):
|
||||
depends_on('cmake@3.9:', when='+cuda', type='build')
|
||||
# Older version of deal.II do not build with Cmake 3.10, see
|
||||
# https://github.com/dealii/dealii/issues/5510
|
||||
depends_on('cmake@:3.9', when='@:8', type='build')
|
||||
depends_on('cmake@:3.9', when='@:8', type='build')
|
||||
depends_on('mpi', when='+mpi')
|
||||
depends_on('python', when='@8.5.0:+python')
|
||||
|
||||
@ -177,6 +180,7 @@ class Dealii(CMakePackage, CudaPackage):
|
||||
depends_on('arborx+trilinos', when='@9.3:+arborx+trilinos')
|
||||
depends_on('arpack-ng+mpi', when='+arpack+mpi')
|
||||
depends_on('assimp', when='@9.0:+assimp')
|
||||
depends_on('cgal', when='@9.4:+cgal')
|
||||
depends_on('doxygen+graphviz', when='+doc')
|
||||
depends_on('graphviz', when='+doc')
|
||||
depends_on('ginkgo', when='@9.1:+ginkgo')
|
||||
@ -255,6 +259,9 @@ class Dealii(CMakePackage, CudaPackage):
|
||||
# Check for sufficiently modern versions
|
||||
conflicts('cxxstd=11', when='@9.3:')
|
||||
|
||||
conflicts('cxxstd=14', when='@9.4:+cgal',
|
||||
msg='CGAL requires the C++ standard to be set to 17 or later.')
|
||||
|
||||
# Interfaces added in 8.5.0:
|
||||
for p in ['gsl', 'python']:
|
||||
conflicts('+{0}'.format(p), when='@:8.4.2',
|
||||
@ -381,9 +388,7 @@ def cmake_args(self):
|
||||
# Enforce the specified C++ standard
|
||||
if spec.variants['cxxstd'].value != 'default':
|
||||
cxxstd = spec.variants['cxxstd'].value
|
||||
options.append(
|
||||
self.define('DEAL_II_WITH_CXX{0}'.format(cxxstd), True)
|
||||
)
|
||||
cxx_flags.extend(['-std=c++{0}'.format(cxxstd)])
|
||||
|
||||
# Performance
|
||||
# Set recommended flags for maximum (matrix-free) performance, see
|
||||
@ -441,6 +446,12 @@ def cmake_args(self):
|
||||
self.define('MPI_CXX_COMPILER', spec['mpi'].mpicxx),
|
||||
self.define('MPI_Fortran_COMPILER', spec['mpi'].mpifc)
|
||||
])
|
||||
# FIXME: Fix issues with undefined references in MPI. e.g,
|
||||
# libmpi.so: undefined reference to `opal_memchecker_base_isaddressable'
|
||||
if '^openmpi' in spec:
|
||||
options.extend([
|
||||
self.define('MPI_CXX_LINK_FLAGS', '-lopen-pal')
|
||||
])
|
||||
if '+cuda' in spec:
|
||||
options.extend([
|
||||
self.define('DEAL_II_MPI_WITH_CUDA_SUPPORT',
|
||||
@ -463,10 +474,11 @@ def cmake_args(self):
|
||||
self.define('PYTHON_LIBRARY', python_library)
|
||||
])
|
||||
|
||||
# Simplex support
|
||||
options.append(self.define_from_variant(
|
||||
'DEAL_II_WITH_SIMPLEX_SUPPORT', 'simplex'
|
||||
))
|
||||
# Simplex support (no longer experimental)
|
||||
if spec.satisfies('@9.3.0:9.4.0'):
|
||||
options.append(self.define_from_variant(
|
||||
'DEAL_II_WITH_SIMPLEX_SUPPORT', 'simplex'
|
||||
))
|
||||
|
||||
# Threading
|
||||
if spec.satisfies('@9.3.0:'):
|
||||
@ -500,7 +512,7 @@ def cmake_args(self):
|
||||
for library in (
|
||||
'gsl', 'hdf5', 'p4est', 'petsc', 'slepc', 'trilinos', 'metis',
|
||||
'sundials', 'nanoflann', 'assimp', 'gmsh', 'muparser',
|
||||
'symengine', 'ginkgo', 'arborx'): # 'taskflow'):
|
||||
'symengine', 'ginkgo', 'arborx', 'cgal'): # 'taskflow'):
|
||||
options.append(self.define_from_variant(
|
||||
'DEAL_II_WITH_{0}'.format(library.upper()), library
|
||||
))
|
||||
|
Loading…
Reference in New Issue
Block a user