openmicroscopy/bioformats — pull request #689 by rleigh-dundee (2013-09-05 14:41:13+00:00)
Title: Initial C++ implementation

Note: this is not yet complete. New PR opened based on a new branch with squashed history. It includes:

- xsd-fu templates for C++
- C++ implementation in top-level `cpp` directory:
- `cmake` build infrastructure
- portability headers in `cpp/src/ome/compat`
- xerces wrappers in `cpp/src/ome/xerces`
- `ome-xml` static sources in `cpp/src/ome/xml`
- `bio-formats` static sources in `cpp/ome/bioformats`
- tests in `cpp/test`

TODO:

- Use `gtest` for tests
- Complete `ome-xml` model code; it's mostly complete but missing a few bits
- Complete `MetadataStore`/`MetadataRetrieve` and related template conversion; needs the model code fully functional first
- Add the basic `scifio`/`bioformats` interfaces equivalent to the Java implementation

To test

```
cd cpp
mkdir build
cd build
cmake ..
make
make test
```

`cmake` will run `xsd-fu` to generate all sources and set up a `Makefile` to build. C++11 features such as `` will be used if present, or else Boost will be used to provide equivalent fallbacks if using an older compiler.