mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-25 14:05:12 +00:00
add ARM/AArch64 Linux release scripts
This commit is contained in:
parent
57158d9ebd
commit
0f0cccc2b6
3 changed files with 138 additions and 0 deletions
16
scripts/Cross-Linux-aarch64.cmake
Normal file
16
scripts/Cross-Linux-aarch64.cmake
Normal file
|
@ -0,0 +1,16 @@
|
|||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_PROCESSOR aarch64)
|
||||
|
||||
set(TARGET_PREFIX aarch64-linux-gnu)
|
||||
|
||||
set(CMAKE_C_COMPILER ${TARGET_PREFIX}-gcc)
|
||||
set(CMAKE_CXX_COMPILER ${TARGET_PREFIX}-g++)
|
||||
set(PKG_CONFIG_EXECUTABLE ${TARGET_PREFIX}-pkg-config)
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH /usr/${TARGET_PREFIX} /usr/lib/${TARGET_PREFIX})
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE ${TARGET_PREFIX})
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE BOTH)
|
61
scripts/release-linux-aarch64.sh
Executable file
61
scripts/release-linux-aarch64.sh
Executable file
|
@ -0,0 +1,61 @@
|
|||
#!/bin/bash
|
||||
# make linux release
|
||||
# run on an Ubuntu 20.04 machine or VM for best results.
|
||||
|
||||
if [ ! -e /tmp/furnace ]; then
|
||||
ln -s "$PWD" /tmp/furnace || exit 1
|
||||
fi
|
||||
|
||||
cd /tmp/furnace
|
||||
|
||||
if [ ! -e a64build ]; then
|
||||
mkdir a64build || exit 1
|
||||
fi
|
||||
|
||||
cd a64build
|
||||
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE=/tmp/furnace/scripts/Cross-Linux-aarch64.cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS="-O3" -DCMAKE_CXX_FLAGS="-O3 -Wall -Wextra -Wno-unused-parameter -Werror" -DWITH_PORTAUDIO=OFF -DWITH_DEMOS=ON -DWITH_INSTRUMENTS=ON -DWITH_WAVETABLES=ON .. || exit 1
|
||||
make -j4 || exit 1
|
||||
|
||||
cd ..
|
||||
|
||||
mkdir -p release/linuxa64/furnace || exit 1
|
||||
cd a64build
|
||||
|
||||
make DESTDIR=/tmp/furnace/release/linuxa64/furnace install || exit 1
|
||||
|
||||
cd ../release/linuxa64/furnace
|
||||
|
||||
cp -v ../../../res/logo.png .DirIcon || exit 1
|
||||
#cp -v ../../../res/furnace.desktop . || exit 1
|
||||
|
||||
cd usr
|
||||
|
||||
mv bin/furnace .. || exit 1
|
||||
rmdir bin || exit 1
|
||||
|
||||
rm -r share/applications
|
||||
rm -r share/doc
|
||||
mv share/icons ..
|
||||
rm -r share/licenses
|
||||
rm -r share/metainfo
|
||||
|
||||
mv share/furnace/demos ..
|
||||
mv share/furnace/instruments ..
|
||||
mv share/furnace/wavetables ..
|
||||
rm -r share/furnace || exit 1
|
||||
rm -r share || exit 1
|
||||
|
||||
cd ..
|
||||
|
||||
cp ../../../LICENSE . || exit 1
|
||||
cp ../../../res/releaseReadme/stable-linux.txt README.md || exit 1
|
||||
cp -r ../../../papers papers || exit 1
|
||||
curl "https://tildearrow.org/furnace/doc/latest/manual.pdf" > manual.pdf
|
||||
rmdir usr || exit 1
|
||||
|
||||
strip -s furnace
|
||||
|
||||
cd ..
|
||||
|
||||
tar -zcv -f furnace.tar.gz furnace
|
61
scripts/release-linux-armhf.sh
Executable file
61
scripts/release-linux-armhf.sh
Executable file
|
@ -0,0 +1,61 @@
|
|||
#!/bin/bash
|
||||
# make linux release
|
||||
# run on an Ubuntu 20.04 machine or VM for best results.
|
||||
|
||||
if [ ! -e /tmp/furnace ]; then
|
||||
ln -s "$PWD" /tmp/furnace || exit 1
|
||||
fi
|
||||
|
||||
cd /tmp/furnace
|
||||
|
||||
if [ ! -e armbuild ]; then
|
||||
mkdir armbuild || exit 1
|
||||
fi
|
||||
|
||||
cd armbuild
|
||||
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE=/tmp/furnace/scripts/Cross-Linux-armhf.cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS="-O3" -DCMAKE_CXX_FLAGS="-O3 -Wall -Wextra -Wno-unused-parameter -Werror" -DWITH_PORTAUDIO=OFF -DWITH_DEMOS=ON -DWITH_INSTRUMENTS=ON -DWITH_WAVETABLES=ON .. || exit 1
|
||||
make -j4 || exit 1
|
||||
|
||||
cd ..
|
||||
|
||||
mkdir -p release/linuxarm/furnace || exit 1
|
||||
cd armbuild
|
||||
|
||||
make DESTDIR=/tmp/furnace/release/linuxarm/furnace install || exit 1
|
||||
|
||||
cd ../release/linuxarm/furnace
|
||||
|
||||
cp -v ../../../res/logo.png .DirIcon || exit 1
|
||||
#cp -v ../../../res/furnace.desktop . || exit 1
|
||||
|
||||
cd usr
|
||||
|
||||
mv bin/furnace .. || exit 1
|
||||
rmdir bin || exit 1
|
||||
|
||||
rm -r share/applications
|
||||
rm -r share/doc
|
||||
mv share/icons ..
|
||||
rm -r share/licenses
|
||||
rm -r share/metainfo
|
||||
|
||||
mv share/furnace/demos ..
|
||||
mv share/furnace/instruments ..
|
||||
mv share/furnace/wavetables ..
|
||||
rm -r share/furnace || exit 1
|
||||
rm -r share || exit 1
|
||||
|
||||
cd ..
|
||||
|
||||
cp ../../../LICENSE . || exit 1
|
||||
cp ../../../res/releaseReadme/stable-linux.txt README.md || exit 1
|
||||
cp -r ../../../papers papers || exit 1
|
||||
curl "https://tildearrow.org/furnace/doc/latest/manual.pdf" > manual.pdf
|
||||
rmdir usr || exit 1
|
||||
|
||||
strip -s furnace
|
||||
|
||||
cd ..
|
||||
|
||||
tar -zcv -f furnace.tar.gz furnace
|
Loading…
Reference in a new issue