furnace/scripts/release-winxp.sh

47 lines
1.4 KiB
Bash
Raw Permalink Normal View History

2023-08-26 17:55:32 +00:00
#!/bin/bash
# make Windows release
# this script shall be run from Arch Linux with MinGW installed!
if [ ! -e /tmp/furnace ]; then
ln -s "$PWD" /tmp/furnace || exit 1
fi
cd /tmp/furnace
2023-08-26 18:09:01 +00:00
if [ ! -e xpbuild ]; then
mkdir xpbuild || exit 1
2023-08-26 17:55:32 +00:00
fi
2023-08-26 18:09:01 +00:00
cd xpbuild
2023-08-26 17:55:32 +00:00
# TODO: potential Arch-ism?
2024-05-16 21:31:53 +00:00
i686-w64-mingw32-cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_FLAGS="-O2" -DCMAKE_CXX_FLAGS="-O2 -Wall -Wextra -Wno-unused-parameter -Wno-cast-function-type" -DBUILD_SHARED_LIBS=OFF -DSUPPORT_XP=ON -DWITH_RENDER_DX11=OFF -DSDL_SSE2=OFF -DSDL_SSE3=OFF -DENABLE_SSE=OFF -DENABLE_SSE2=OFF -DENABLE_AVX=OFF -DENABLE_AVX2=OFF -DUSE_BACKWARD=ON -DCONSOLE_SUBSYSTEM=OFF .. || exit 1
2023-08-26 17:55:32 +00:00
make -j8 || exit 1
cd ..
2023-08-26 18:09:01 +00:00
mkdir -p release/winxp || exit 1
cd release/winxp
2023-08-26 17:55:32 +00:00
cp ../../LICENSE LICENSE.txt || exit 1
2023-08-26 18:09:01 +00:00
cp ../../xpbuild/furnace.exe . || exit 1
2023-09-20 01:02:16 +00:00
cp ../../res/releaseReadme/stable-win.txt README.txt || exit 1
2023-08-26 17:55:32 +00:00
cp -r ../../papers papers || exit 1
cp -r ../../demos demos || exit 1
cp -r ../../instruments instruments || exit 1
cp -r ../../wavetables wavetables || exit 1
2023-09-20 01:14:30 +00:00
cp ../../res/docpdf/manual.pdf . || exit 1
2023-08-26 17:55:32 +00:00
i686-w64-mingw32-strip -s furnace.exe || exit 1
# patch to remove GetTickCount64
2024-04-30 19:41:02 +00:00
gcc -o patch_xp ../../scripts/patch_xp.c || exit 1
./patch_xp furnace.exe || exit 1
2023-08-26 17:55:32 +00:00
zip -r furnace.zip LICENSE.txt furnace.exe README.txt manual.pdf papers demos instruments wavetables
2023-08-26 17:55:32 +00:00
furName=$(git describe --tags | sed "s/v0/0/")
2023-08-26 18:09:01 +00:00
mv furnace.zip furnace-"$furName"-win32-XP-ONLY.zip