A rough set of commands needed to build the project.
Clone the project:
git clone --recurse-submodule https://github.com/symboxtra/HulaLoop
Update an already cloned submodule:
git submodule update --remote --merge
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
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
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
- 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...
mkdir build
cd build
cmake ..
cmake --build .
./bin/<executable name>
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
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
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
This is built with the first option. To build separetly, use:
cd docs
doxygen # Finds default Doxyfile
cd build-doxygen/html