-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
A first attempt to fix the README.md
- Loading branch information
1 parent
14aa862
commit 4f88f8f
Showing
1 changed file
with
30 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,38 @@ | ||
# h5cpp | ||
C++ wrapper for the HDF5 C-library | ||
|
||
## Compiling | ||
This project uses CMake for setting up a build system, usually GNU Make. This is done as follows: | ||
*h5cpp* is a new C++ wrapper for HDF5s C-API. Unlike many others it | ||
strives for | ||
|
||
* ``cd`` to the ``h5cpp`` directory. | ||
* Create a build directory and ``cd`` into that: ``mkdir build; cd build``. | ||
* Run CMake: ``cmake ..``. Note that the default build build type is *Release*. To build in debug mode, run CMake as follows: ``cmake -DCMAKE_BUILD_TYPE=Debug ..``. | ||
* To compile run: ``make``. | ||
* completenes | ||
* independent of a particular application domain | ||
* support for *current* major OS platforms (Windows, Linux, OXS) | ||
* easy to use. | ||
|
||
### Code coverage | ||
To activate the generation of code coverage information run CMake with the ``-DCOV`` argument, e.g.: | ||
``` | ||
cmake -DCOV=TRUE . | ||
``` | ||
##Motivation | ||
|
||
**WARNING:** Only activate code when compiling the library for running unit tests. Never install or otherwise use the library when code coverage has been activated. | ||
### Complete and domain agnostic | ||
|
||
### Requirements | ||
The H5CPP library requires the [*HDF5 C-library*](https://www.hdfgroup.org) in order to build. The [*Boost*](http://www.boost.org) library is also required as it is used to implement filesystem access and to do unit testing. | ||
Many HDF5 wrappers which are currently around have to major issues: | ||
|
||
1. they do not provide the full functionality of the C-API | ||
2. they are specifically made for a particular field of application | ||
|
||
Our goal is to keep *h5cpp* as much as application agnostic as possible and | ||
provide the full functionality of the C-API. | ||
|
||
### Easy to use | ||
|
||
HDF5 is a rather powerful file format and thus the C-API is rather complex. | ||
*h5cpp*s approach to this degree of complexity can be best described by a quote | ||
of [Alan Kay](http://startupquote.com/post/5626579141) | ||
|
||
Simple things should be simple, complex things should be possible. | ||
|
||
That's what we try to achieve and hopefully we succeeded in it. | ||
|
||
## Installation and using it | ||
|
||
See the [online documentation](https://ess-dmsc.github.io/h5cpp/index.html) for | ||
|
||
In order to generate the documentation, [*Sphinx*](http://www.sphinx-doc.org/) with the [Read the Docs Sphinx Theme](https://github.com/rtfd/sphinx_rtd_theme) are required. |