h5bench: add v1.2, use git to get submodules, add variants (#29819)

This commit is contained in:
Jean Luca Bez 2022-04-05 21:31:49 -07:00 committed by GitHub
parent 2d6ba6663a
commit 90c4b43274
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -11,19 +11,28 @@ class H5bench(CMakePackage):
homepage = 'https://github.com/hpc-io/h5bench'
git = 'https://github.com/hpc-io/h5bench.git'
url = 'https://github.com/hpc-io/h5bench/archive/refs/tags/1.1.tar.gz'
maintainers = ['jeanbez', 'sbyna']
version('master', branch='master')
version('develop', branch='develop')
version('latest', branch='master', submodules=True)
version('develop', branch='develop', submodules=True)
version('1.1', sha256='69f40e9bb0547235efe2114ab807825a513288b21ecfd9ce568443fe43bd9389')
version('1.0', sha256='c9151d0c138990f7fc684501f7a7e99d8727317b5169809ddbb63d8e84c9fa3f')
version('1.2', commit='866af6777573d20740d02acc47a9080de093e4ad', submodules=True)
version('1.1', commit='1276530a128025b83a4d9e3814a98f92876bb5c4', submodules=True)
version('1.0', commit='9d3438c1bc66c5976279ef203bd11a8d48ade724', submodules=True)
variant('metadata', default=False, when='@1.2:', description='Enables metadata benchmark')
variant('amrex', default=False, when='@1.2:', description='Enables AMReX benchmark')
variant('exerciser', default=False, when='@1.2:', description='Enables exerciser benchmark')
variant('openpmd', default=False, when='@1.2:', description='Enables OpenPMD benchmark')
variant('e3sm', default=False, when='@1.2:', description='Enables E3SM benchmark')
variant('all', default=False, when='@1.2:', description='Enables all h5bench benchmarks')
depends_on('cmake@3.10:', type='build')
depends_on('mpi')
depends_on('hdf5+mpi@1.12.0:1,develop-1.12:')
depends_on('parallel-netcdf', when='+e3sm')
depends_on('parallel-netcdf', when='+all')
@run_after('install')
def install_config(self):
@ -34,3 +43,15 @@ def install_config(self):
def setup_build_environment(self, env):
env.set('HDF5_HOME', self.spec['hdf5'].prefix)
def cmake_args(self):
args = [
self.define_from_variant('H5BENCH_METADATA', 'metadata'),
self.define_from_variant('H5BENCH_AMREX', 'amrex'),
self.define_from_variant('H5BENCH_EXERCISER', 'exerciser'),
self.define_from_variant('H5BENCH_OPENPMD', 'openpmd'),
self.define_from_variant('H5BENCH_E3SM', 'e3sm'),
self.define_from_variant('H5BENCH_ALL', 'all')
]
return args