Skip to content

symboxtra/HulaLoop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7979108 · Sep 13, 2019
Apr 18, 2019
Apr 15, 2019
Jan 7, 2019
Dec 6, 2018
Apr 16, 2019
Apr 18, 2019
Nov 25, 2018
Oct 17, 2018
Apr 18, 2019
Oct 18, 2018
Apr 15, 2019
Dec 6, 2018
Oct 24, 2018
Sep 21, 2018
Apr 17, 2019
Nov 11, 2018
Dec 6, 2018
Nov 9, 2018

Repository files navigation

Jenkins Server Status codecov CodeFactor License: GPL v3

HulaLoop

Important Commands

A rough set of commands needed to build the project.

Git

Clone the project:

git clone --recurse-submodule https://github.com/symboxtra/HulaLoop

Update an already cloned submodule:

git submodule update --remote --merge

Dependencies

Debian-based Linux

Check which version of Debian you have by running

cat /etc/debian_version

If running Debian Stretch:

sudo apt install build-essential cmake libgl1-mesa-dev libsndfile-dev

IMPORTANT: This application requires Qt 5.9.5+. This typically has to be installed using the Qt GUI installer since apt on Debian Stretch does not backport an up-to-date version. Be sure to install the extra Qt Charts package as the GUI relies on it.

If running Debian Buster:

sudo apt install build-essential cmake libgl1-mesa-dev libpulse-dev qt5-default libqt5charts5 libqt5quickcontrols2-5

If using GNOME (fixes system tray icons and notifications):

sudo apt install gnome-shell-extension-appindicator

If you want to compile documentation:

sudo apt install python-sphinx doxygen graphviz help2man
python -m pip install --user recommonmark

Redhat-based Linux

Required:

sudo dnf install gcc-c++ make cmake qt5-devel qt5-qtcharts qt5-qtquickcontrols2-devel pulseaudio-libs-devel

To enable the system tray icon and notifications the Topicons plus extension must be installed via dnf and enabled under Tweaks->Extensions.

sudo dnf install gnome-shell-extension-topicons-plus

If you want to compile documentation:

sudo dnf install python-sphinx doxygen graphviz help2man
python -m pip install --user recommonmark

If you want to generate RPM packages:

sudo dnf install rpm-build

OSX

Install brew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install g++ qt build-essential cmake portaudio libsndfile

IMPORTANT: JACK2 must be installed using the GUI installer since brew only includes JACK1.

If you want to compile documentation:

brew install sphinx-doc doxygen graphviz
python -m pip install recommonmark

Windows

  • Install Qt (including Charts)
  • Install Visual Studio or the MSVC build tools
  • Install Chocolatey (package manager for Windows)
  • Install Chocolatey packages
choco install git
choco install cmake
choco install doxygen
  • Good luck...

CMake

mkdir build
cd build
cmake ..
cmake --build .
./bin/<executable name>

Windows Tips

We've found the msbuild output on Windows to be rather unruly. Passing the /verbosity:minimal or /v:m options at build time makes the output much more make-like. Relevant information, warnings, and errors are still displayed.

cmake --build . -- /verbosity:minimal
cmake --build . -- /v:m

CTest

All tests:

cd build
ctest -C Debug -V

Without checks for memory leaks:

cd build
ctest -C Debug -V -E memcheck

Only memory leak checks:

cd build
ctest -C Debug -V -R memcheck

Build Tutorials and Documentation

cd docs
make html # Runs Doxygen and Sphinx builds
cd build-docs/html
# python -m SimpleHTTPServer is a simple way to serve these
# Open localhost:8000 in your browser to view

Build Developer Documentation

This is built with the first option. To build separetly, use:

cd docs
doxygen # Finds default Doxyfile
cd build-doxygen/html