Ecp sdk update package contraints (#28693)

* ECP-SDK: Require HDF5 1.12

* ECP-SDK: Require SDK spec for SDK packages
This commit is contained in:
kwryankrattiger 2022-02-11 02:35:30 -06:00 committed by GitHub
parent c16ce9408e
commit a45c7c185b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 10 deletions

View file

@ -95,7 +95,7 @@ class Adios2(CMakePackage):
depends_on('libzmq', when='+dataman')
depends_on('dataspaces@1.8.0:', when='+dataspaces')
depends_on('hdf5', when='+hdf5')
depends_on('hdf5~mpi', when='+hdf5~mpi')
depends_on('hdf5+mpi', when='+hdf5+mpi')
depends_on('c-blosc', when='@2.4: +blosc')

View file

@ -77,7 +77,7 @@ class Conduit(CMakePackage):
# set to false for systems that implicitly link mpi
variant('blt_find_mpi', default=True, description='Use BLT CMake Find MPI logic')
variant("hdf5", default=True, description="Build Conduit HDF5 support")
variant("hdf5_compat", default=True,
variant("hdf5_compat", default=True, when='+hdf5',
description="Build Conduit with HDF5 1.8.x (compatibility mode)")
variant("silo", default=False, description="Build Conduit Silo support")
variant("adios", default=False, description="Build Conduit ADIOS support")

View file

@ -30,7 +30,6 @@ class EcpDataVisSdk(BundlePackage, CudaPackage):
variant('veloc', default=False, description="Enable VeloC")
# Vis
variant('sensei', default=False, description="Enable Sensei")
variant('ascent', default=False, description="Enable Ascent")
variant('paraview', default=False, description="Enable ParaView")
variant('sz', default=False, description="Enable SZ")
@ -41,6 +40,8 @@ class EcpDataVisSdk(BundlePackage, CudaPackage):
variant('cinema', default=False, description="Enable Cinema")
# Outstanding build issues
variant('sensei', default=False, description="Enable Sensei")
conflicts('+sensei')
variant('visit', default=False, description="Enable VisIt")
conflicts('+visit')
@ -49,6 +50,16 @@ def dav_sdk_depends_on(spec, when=None, propagate=None):
# Do the basic depends_on
depends_on(spec, when=when)
# Strip spec string to just the base spec name
# ie. A +c ~b -> A
spec = Spec(spec).name
if '+' in when and len(when.split()) == 1:
when_not = when.replace('+', '~')
# If the package is in the spec tree then it must
# be enabled in the SDK.
conflicts(when_not, '^' + spec)
# Skip if there is nothing to propagate
if not propagate:
return
@ -57,10 +68,6 @@ def dav_sdk_depends_on(spec, when=None, propagate=None):
if not type(propagate) is dict:
propagate = dict([(v, v) for v in propagate])
# Strip spec string to just the base spec name
# ie. A +c ~b -> A
spec = Spec(spec).name
# Determine the base variant
base_variant = ''
if when:
@ -100,7 +107,7 @@ def exclude_variants(variants, exclude):
when='+faodel',
propagate=['hdf5'])
dav_sdk_depends_on('hdf5 +shared+mpi+fortran', when='+hdf5')
dav_sdk_depends_on('hdf5@1.12: +shared+mpi+fortran', when='+hdf5')
dav_sdk_depends_on('parallel-netcdf+shared+fortran', when='+pnetcdf')
@ -114,8 +121,11 @@ def exclude_variants(variants, exclude):
dav_sdk_depends_on('sensei@develop +vtkio +python ~miniapps', when='+sensei',
propagate=dict(propagate_to_sensei))
# Need to explicitly turn off conduit hdf5_compat in order to build
# hdf5@1.12 which is required for SDK
dav_sdk_depends_on('ascent+shared+mpi+fortran+openmp+python+vtkh+dray',
when='+ascent')
depends_on('ascent ^conduit ~hdf5_compat', when='+ascent +hdf5')
depends_on('py-cinemasci', when='+cinema')
@ -123,8 +133,8 @@ def exclude_variants(variants, exclude):
when='+paraview',
propagate=['hdf5', 'adios2'] + cuda_arch_variants)
# Want +shared when not using cuda
dav_sdk_depends_on('paraview ~shared +cuda', when='+paraview +cuda')
dav_sdk_depends_on('paraview +shared ~cuda', when='+paraview ~cuda')
depends_on('paraview ~shared +cuda', when='+paraview +cuda')
depends_on('paraview +shared ~cuda', when='+paraview ~cuda')
dav_sdk_depends_on('visit', when='+visit')