# IT4Innovations
# BS 2023

easyblock = "CMakeMake"

name = "openPMD-api"
version = "0.14.4"

homepage = 'https://github.com/openPMD/openPMD-api'
description = """openPMD is an open meta-data schema that provides meaning and self-description 
for data sets in science and engineering. See the openPMD standard for details of this schema.
This library provides a reference API for openPMD data handling. Since openPMD is a schema 
(or markup) on top of portable, hierarchical file formats, this library implements various 
backends such as HDF5, ADIOS2 and JSON. Writing & reading through those backends and their 
associated files are supported for serial and MPI-parallel workflows.
"""

toolchain = {'name': 'gompi', 'version': '2020e'}

source_urls = ['https://github.com/openPMD/openPMD-api/archive/refs/tags/']
sources = ['%(version)s.tar.gz']
checksums = ['42b7bcd043e772d63f0fe0e5e70da411f001db10096d5b8be797ffc88e786379']

builddependencies = [('CMake', '3.20.1')]

dependencies = [
    ('HDF5', '1.12.0'),
    ('ADIOS2', '2.7.0'),
]

configopts = '-DopenPMD_USE_ADIOS2=ON -DopenPMD_USE_HDF5=ON '

separate_build_dir = True

sanity_check_paths = {
    'files': ['bin/openpmd-ls', 'bin/openpmd-pipe', 'lib/libopenPMD.so'],
    'dirs': ['bin', 'include', 'lib64']
}

moduleclass = 'tools'