Skip to content

Installation

Mohammed Boujemaoui Boulaghmoudi edited this page Oct 7, 2018 · 5 revisions

Installation

The eDSP project is a header-only. Download the project and add the include/directory to your compiler's header search path and you are done, or directly into your project tree itself! The simplest way to get eDSP is to download the latest single header version.

If you want to install the library and make it accessible to all resources in your system, follow those steps:

  1. Download the source code

    Clone the repository from github or download the latest version from this link.

    git clone https://github.com/mohabouje/eDSP.git --recursive
    cd eDSP
  2. Build the library

    Before starting, please install the different dependencies. The build system uses CMake. The procedure is standard for CMake builds:

    mkdir build	
    cd build
    cmake -DCMAKE_BUILD_TYPE=Release ..
    make -jN

    The user can enable/disable the different packages independently, probably the easy way to do so by using ccmake. More details about easyDSP configuration options are located in the User Documentation.

  3. Building the tests

    Source code validation is a critical step. To run all the test, use:

    make test
  4. Building the examples

    Several examples demonstrating specific usages can be found in the examples folder of the repository.

    To build the examples, use:

    make examples

    If you want to run an individual example, those are in subdirectories in examples (built products are in your build directory, the source is in examples folder).

  5. Building the docs

    The docs are available in different formats, for instance: html & latex. To build the docs, use:

    make html

    Also, the latest development documentation is available online.

  6. Installing the library:

    sudo make install

Note: If you decide that you want to remove the installed library, simply run

sudo make uninstall

Performance

Using compiler optimizations for eDSP is strongly recommended. Using the unoptimized library is order of magnitude slower than the version using -O3 flag on the different test computers.

Compilation flags

eDSP allows a flexible configuration of the library via different compilation flags.

Compilation Flag Default Description
BUILD_TESTS ON If ON enables the compilation of the different tests.
BUILD_TOOLS ON If ONenables the compilation of the different command line tools.
BUILD_DOCS OFF If ON generates the Doxygen documentation.
BUILD_EXAMPLES OFF If ON compiles the different examples.
BUILD_BINDINGS OFF If ONgenerates the binding for the Python and JavaScript languages.
ENABLE_OPTIMIZATIONS ON For performance reasons, if ON enables all the optimizations flags.
ENABLE_WARNINGS ON For test reasons, if ONenables all the compiler warnings.
ENABLE_DEBUG_INFORMATION OFF For performance reasons, if ONexports the required symbols for using external tools like valgrind or clang.

Configure the default logger library

Flag Default Description
USE_SPDLOG ON If ON uses the library SpdLog as the default logger.

Configure the default encoding/decoding library

eDSP integrates different implementation and integration with third--party tools. This is the list of available encoder/decoder implementations.

Flag Default Description
USE_AUDIOFILE ON If ON uses the library AudioFormat as the default library to decode/encode audio files.
USE_SNDFILE OFF If ON uses the library SndFile as the default library to decode/encode audio files.

Configure the default FFT library

Flag Default Description
USE_FFTW ON If ON uses the library FFTW to compute the different transforms.
USE_KISSFFT OFF If ON uses the library KISS FFT to compute the different transforms.
USE_AFFT OFF If ON uses the library Apple Accelerated FFT to compute the different transforms.