[![Linux](https://github.com/Matroska-Org/libebml/actions/workflows/linux.yaml/badge.svg)](https://github.com/Matroska-Org/libebml/actions/workflows/linux.yaml)
[![Windows](https://github.com/Matroska-Org/libebml/actions/workflows/windows.yaml/badge.svg)](https://github.com/Matroska-Org/libebml/actions/workflows/windows.yaml)
[![macOS](https://github.com/Matroska-Org/libebml/actions/workflows/macos.yaml/badge.svg)](https://github.com/Matroska-Org/libebml/actions/workflows/macos.yaml)
[![GCC10](https://github.com/Matroska-Org/libebml/actions/workflows/linux-gcc10.yaml/badge.svg)](https://github.com/Matroska-Org/libebml/actions/workflows/linux-gcc10.yaml)
# libebml
a C++ library to parse EBML files
Specifications may be rendered at http://matroska-org.github.io/libebml/
# Building and installing
## Building and installing the library
libebml is based on `cmake` and requires only a C++ compiler
supporting at least the C++14 standard. This means that the normal
build process consists of the usual steps:
1. Create a build directory: `mkdir build ; cd build`
2. Generate the make file: `cmake ..`
3. Compilation: `make`
4. Installation (run this as root): `make install`
## Customizing what's build with options
By default only a static library is built.
This library supports the usual `cmake` options for specifying
installation paths (e.g. `-DCMAKE_INSTALL_PREFIX=/opt/libebml`). The
following additional `cmake` options are supported:
* `-DDISABLE_PKGCONFIG=YES` — don't generate and install the
`libebml.pc` package configuration module for `pkg-config`
* `-DDISABLE_CMAKE_CONFIG=YES` — don't generate and install the
package configuration module for `cmake`. Note that building
`libebml` requires that the `cmake` configuration is available.
* `-DBUILD_SHARED_LIBS=YES` — build the shared library instead of the
static one (default: no)
# Code of conduct
Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
# Included third-party components and their licenses
## utf8-cpp
UTF-8 with C++ in a Portable Way
* Copyright: 2006 Nemanja Trifunovic
* License: BOOST (see `src/lib/utf8-cpp/source/utf8.h`)
* URL: http://utfcpp.sourceforge.net/
* Corresponding files: `src/lib/utf8-cpp/*`