Opendigitalradio / libdabcommon

Data over DAB: Common infrastructure

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DABCommon

This library provides some common infrastructure for the data-over-dab libraries. It is a header-only library that encapsulates types like dab::sample_queue_t as well as some useful constants like dab::kTransmissionMode1.

Dependencies

DABCommon has no dependencies per se. However, if you would like to build the unit tests you will need CUTE and CUTEX. There are currently two resolution mechanisms available in DABCommon, using Git or Conan.

Dependency Resolution via Conan

Dependency resolution via Conan requires you to add an additional Conan remote. This remote contains packages for CUTE and CUTEX. To register this new remote with conan, you can use the following command:

conan remote add conan-fmorgner https://api.bintray.com/conan/fmorgner/conan-fmorgner

After you have registered this new remote, you can select Conan-based dependency resolution using the following argument to CMake:

-DEXTERNAL_DEPS_VIA=conan

Dependency Resolution via Git

As an alternative to Conan, you can also use Git for dependency resolution. Since this is the default configuration, you don't need to setup anything. However, if you would like to be explicit about using git to resolve the dependencies of DABCommon, you can use the following argument to CMake:

-DEXTERNAL_DEPS_VIA=git

Running the Unit Tests

To run the unit tests, use the included CMake environment. Simply use the following commands from the source root:

mkdir -p build
cd build
cmake .. -DDABCOMMON_ENABLE_TESTS=On [DEPENDENCY_RESOLUTION_MECHANISM]
cmake --build .

Locally Exporting the Conan Package

While the above remote also provides packages for all data-over-dab libraries, you can also export a conan package to your local cache. This is especially useful if you are working on DABCommon. To export the package, use the following command:

conan export Opendigitalradio/stable --build=missing

About

Data over DAB: Common infrastructure

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C++ 76.1%Language:CMake 19.7%Language:Python 2.3%Language:C 1.9%