Conan package for h5cpp, a modern c++ wrapper for hdf5.
This repository tracks the recipe for generating the conan package. You should not have to run these steps yourself but instead simply fetch the package from the the conan remote server as described below.
See the DMSC conan-configuration repository for how to configure your remote.
In conanfile.txt
:
[requires]
h5cpp/0.4.1@ess-dmsc/stable
...
[options]
h5cpp:parallel=False
h5cpp:with_boost=False
Where:
parallel
indicates if you intend to use the library with MPIwith_boost
is needed if your compiler does not providestd::filesystem
In CMake:
find_package(h5cpp 0.4.1 REQUIRED)
...
target_link_libraries(my_target
PUBLIC h5cpp::h5cpp
)
See h5cpp documentation for further details on how to use the library.
If you are a contributor and wish to update this recipe to use the latest version of the target library.
There are 2 ways of doing this, depending on whether you want to create a package for a new (stable) release or if you want to create a test (development) version based on an arbitrary commit.
- make a branch
- change
channel
in Jenkinsfile from "stable" to "testing" - steps only for tagged release:
- In conanfile.py, set
package_type
to "release" - In conanfile.py, set
version
to the release that you want to create a package for - Download the *tar.gz from the h5cpp release page and generate the SHA-256 checksum for the file:
sha256sum v0.x.y.tar.gz
orshasum -a 256 v0.x.y.tar.gz
. Make sure that it is the *tar.gz version of the file that you create the checksum for. - In conanfile.py, set
archive_sha256
to the new checksum.
- In conanfile.py, set
- steps only for arbitrary commits:
- In conanfile.py, set
package_type
to "development". - In conanfile.py, set
commit
to the commit hash (first 7 hex letters) of the commit that you want to package
- In conanfile.py, set
- push and massage until the job succeeds on Jenkins
- ideally, test new version of package with actual projects that use it
- update the conan package name in code example, under the "Using the package" section above
- if this a stable release, change
channel
back to "stable" in Jenkinsfile - make a merge request