This build the images in order to cross-compile on a X86_64 platform JUCE projects (especially https://github.com/FundamentalFrequency/LMN-3-DAW). This can be used on a host without invasive dependencies or in a CI. The following containers will compile binaries for those target plateforms:
images | target arch | target os |
---|---|---|
iamdey/lmn-3-daw_compiler:armv7 | armv7 | Raspberry Pi OS 32bits (bookworm) |
iamdey/lmn-3-daw_compiler:arm64 | arm64 | Raspberry Pi OS 64bits (bookworm) |
iamdey/lmn-3-daw_compiler:amd64 | amd64 | Ubuntu 64bits (22.04) |
Note: Target OS is an indication on which OS LMN-3 will run and the minimum version required of glibc dependency.
According to the target of the LMN-3-DAW to build:
# install armv7 and arm64 plateforms and build base image
make prepare
# build the image of the compiler for armv7
make build_armv7
According to the target and version of LMN-3-DAW:
cd LMN-3-DAW
docker run --rm -v $PWD:/source iamdey/lmn-3-daw_compiler:armv7 /bin/bash -c '
cd /source
cmake -B build -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DCMAKE_BUILD_TYPE=Debug -DPACKAGE_TESTS=OFF
cmake --build build -j8
'
This repository has been heavily inspired by https://github.com/FundamentalFrequency/juce-arm-linux-cross-compiler by Stone Preston.