talker93 / 2022-MUSI6106

Template project for assignments and exercises for the class MUSI6106
GNU General Public License v3.0
0 stars 0 forks source link

GitHub top language GitHub issues GitHub last commit Tests GitHub

MUSI6106 2022: Audio Software Engineering

Template project for assignments and exercises for the class MUSI6106

Project Structure

|_ 3rdparty: (3rd party dependencies)
  |_ Fft: simple Fft library
  |_ sndlib: sndfile library (3rdparty with ugly code and lots of warnings)
  |_ googletest: googletest framework
|_ cmake.modules: (cmake scripts)
|_ inc: global headers
|_ src: source code
  |_ AudioFileIO: library wrapping sndfile (3rdparty)
  |_ CombFilter: combfilter library (assignment 1)
  |_ inc: internal headers
  |_ MUSI6106Exec: code for executable binary
  |_ Tests: all code related to tests
    |_ TestData: data for specific tests possibly requiring data
    |_ TestExec: test executable
    |_ Tests: individual test implementations (one file per target)

Creating the Project Files with CMake

The project files are generated through CMake. Using the latest CMake GUI,

On the command line, try from the sourcedir

cmake -B ./bld/ -DCMAKE_BUILD_TYPE=DEBUG
cmake --build ./bld/ --config Debug

Enable WITH_TESTS to build with GTest support and WITH_DOXYGENTARGET to add a target for creating a doxygen documentation for your project.

If new files are added, clear the cache and rerun configuration and generation.

Documentation

The automatically generated doxygen documentation can be found at https://alexanderlerch.github.io/2022-MUSI6106.