H5fortran Versions Save

Lightweight HDF5 polymorphic Fortran: h5write() h5read()

v4.3.0

2 years ago

use HDF5 built-in casting real32 <=> real64 and int32 <=> int64. We no longer manually cast int <=> real to reduce code complexity and memory usage. This also helps avoid inefficient user code where type casting int <=> real was accidental.

The gain in efficiency and reduction in code complexity outweighs the small and easily fixed user use cases that used int <=> real casting. The user will have to assign appropriate variable types to match disk datatypes. Again, real32 <=> real64 and int32 <=> int64 is fine and handled inside the HDF5 library.

About 1,000 lines of code were deduplicated/eliminated, one of the largest reductions in this project's history.

v4.2.11

2 years ago

Added CI or local code coverage test with GCC + Gcovr. As a result, realized that pathlib module was unused, and removed pathlib.

v4.2.10

2 years ago

v4.2.9

2 years ago
  • Further shared lib enhancements for Windows
  • if building HDF5, allow selecting from HDF5 versions in cmake/libraries.json via HDF5_VERSION variable

v4.2.8

2 years ago

CI tests HDF5 build in static and shared across Linux, MacOS, Windows

put Rpath in exe for shared builds

v4.2.7

2 years ago
  • read character: automatically truncate to c_null_char if present this avoids the user having to do this themself. Before this, if the user string variable was longer than the disk string variable the remainder of the user variable could be filled with garbage non-blank characters.

  • default install to top-level project binary dir this makes the default install directory visible even when used from FetchContent

  • use CMake generator expressions to simplify / clarify logic

v4.2.6

2 years ago

enhance Intel CI tests to be debug and release

v4.2.5

2 years ago

Since h5cc compiler wrappers are optional, search only HDF5_ROOT when specified, otherwise Anaconda wrappers may get picked up, causing link to fail.

Fortran module search is first under HDF5 C include directory to handle case where primary HDF5 library was not compiled with Fortran interface, which would usually cause link failure. If HDF5_ROOT specified, search Fortran hdf5.mod only under that.

v4.2.4

2 years ago

conda HDF5 conflicts with compilers typically, yet is first on PATH by design. We ignore Conda for the FindHDF5, FindZLIB only to allow the rest of the project to use Python.

v4.2.3

2 years ago

Previously, on MacOS Anaconda Python could get in the way of finding an ABI-compatible HDF5. This update looks for Homebrew HDF5 first.

Also, find HDF5 better when only the parallel HDF5 is installed but not specified.