JUCE 6 Preview - Demo Project
May 2, 2020 ยท View on GitHub
| License | Linux | macOS | Windows | Coverage |
|---|---|---|---|---|
Features
- CMake build
- External juce modules
- Catch2 unit tests
- Sanitizers
- Code coverage (lcov)
- CI (travis, appveyor & circleci)
- clang-format
- clang-tidy
ToDo
- automatic packaging & signing
Quick Start
Simple project testing the new beta branch of JUCE version 6. Reverb plugin based on the JUCE dsp classes. Links to unit tests written with Catch2. Tested on Windows, macOS & Linux.
JUCE now uses CMake. Awesome!
CONFIG=Release make
or:
cmake -S. -Bbuild
cmake --build build --config Release
cd build
ctest -C Release
Tools
make sanitize # sanitizers: asan, uban
make coverage report # files: build_coverage/lcov/index.html
make format # run clang-format
Tested On
Windows
- Version 10.0.18362 Build 18362
- Visual Studio 2019 (16.5.3)
- CMake 3.16.2
Windows Issues
- None
Apple
- Version 10.15.2
- Xcode 10.4
- CMake 3.16.4
- Generators: Xcode, Ninja
Apple Issues
- None
Linux
First:
- PopOS (Ubuntu)
- GCC 9.2, Clang 9, Clang trunk
- CMake 3.17.2
- Generators: Makefile, Ninja
Second:
- RaspberryPi 3
- Raspbian 4.19
- Clang 9
- CMake 3.17.2
- Generator: Ninja
Linux Issues
Error on Raspberry Pi3 during cmake configuration. Cannot link:
/usr/bin/ld:
extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_core/juce_core.cpp.o:
in function `std::__atomic_base<long long>::operator long long() const':
/usr/include/c++/8/bits/atomic_base.h:396: undefined reference to
`__atomic_load_8'
/usr/bin/ld:
extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_core/juce_core.cpp.o:
in function `std::__atomic_base<long long>::operator^=(long long)':
/usr/include/c++/8/bits/atomic_base.h:344: undefined reference to
`__atomic_fetch_xor_8'
Other projects using JUCE and a custom CMake config worked on this device.