musikcube/script/archive-standalone-nix.sh

90 lines
2.0 KiB
Bash
Raw Normal View History

2022-02-10 08:19:54 +00:00
#!/bin/bash
2022-02-16 00:55:28 +00:00
# set -x
2022-02-10 08:19:54 +00:00
VERSION=$1
if [ -z "$VERSION" ]; then
echo "usage: archive-nix.sh <version>"
exit
fi
OS=$(uname)
JOBS="-j8"
FRIENDLY_OS_NAME="linux"
if [ $OS == "Darwin" ]; then
FRIENDLY_OS_NAME="macos"
JOBS="-j$(sysctl -n hw.ncpu)"
fi
2022-02-10 08:19:54 +00:00
ARCH=$(uname -m)
OS_ARCH="${FRIENDLY_OS_NAME}_${ARCH}"
OUTNAME="musikcube_standalone_${OS_ARCH}_$VERSION"
OUTDIR="dist/$VERSION/$OUTNAME"
2022-02-10 08:19:54 +00:00
SCRIPTDIR=`dirname "$0"`
DLL_EXT="so"
if [ $OS == "Darwin" ]; then
DLL_EXT="dylib"
fi
OS_SPECIFIC_BUILD_FLAGS=""
if [ $OS == "Linux" ]; then
OS_SPECIFIC_BUILD_FLAGS="-DENABLE_PIPEWIRE=true -DGENERATE_DEB=true -DDEB_ARCHITECTURE=$ARCH -DCMAKE_INSTALL_PREFIX=/usr"
2022-02-10 08:19:54 +00:00
fi
2022-02-10 08:33:41 +00:00
printf "\n"
read -p ' clean and rebuild [y]? ' CLEAN
if [[ $CLEAN == 'n' || $CLEAN == 'N' ]]; then
printf "\n\n\n ***** SKIPPING REBUILD *****\n\n\n"
2022-02-13 05:30:33 +00:00
./script/stage-vendor-libraries.sh || exit $?
sleep 3
2022-02-10 08:33:41 +00:00
else
printf "\n\n\n ***** REBUILDING NOW *****\n\n\n"
sleep 3
2022-02-10 08:33:41 +00:00
${SCRIPTDIR}/clean-nix.sh
rm -rf bin/ 2> /dev/null
2022-02-11 04:08:26 +00:00
./script/stage-vendor-libraries.sh || exit $?
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_STANDALONE=true ${OS_SPECIFIC_BUILD_FLAGS} . || exit $?
make ${JOBS} || exit $?
2022-02-10 08:33:41 +00:00
fi
2022-02-10 08:19:54 +00:00
rm -rf dist/$VERSION 2> /dev/null
2022-02-10 08:19:54 +00:00
mkdir -p $OUTDIR/lib
mkdir -p $OUTDIR/plugins
mkdir -p $OUTDIR/locales
mkdir -p $OUTDIR/themes
2022-02-14 06:45:17 +00:00
mkdir -p $OUTDIR/share/terminfo
2022-02-10 08:19:54 +00:00
cp bin/musikcube $OUTDIR
cp bin/musikcubed $OUTDIR
cp bin/libmusikcore.${DLL_EXT} $OUTDIR
cp bin/lib/* $OUTDIR/lib
cp bin/plugins/*.${DLL_EXT} $OUTDIR/plugins
cp bin/locales/*.json $OUTDIR/locales
cp bin/themes/*.json $OUTDIR/themes
2022-02-14 06:45:17 +00:00
cp -rfp bin/share/terminfo/* $OUTDIR/share/terminfo/
2022-02-10 08:19:54 +00:00
strip $OUTDIR/musikcube
strip $OUTDIR/musikcubed
strip $OUTDIR/libmusikcore.${DLL_EXT}
strip $OUTDIR/lib/*
strip $OUTDIR/libmusikcore.${DLL_EXT}
strip $OUTDIR/plugins/*.${DLL_EXT}
cd dist/$VERSION/
2022-02-10 08:19:54 +00:00
tar cvf $OUTNAME.tar $OUTNAME
bzip2 $OUTNAME.tar
cd ../../
if [ $OS == "Linux" ]; then
cpack
mv *.deb dist/$VERSION/
fi
2022-02-10 08:39:29 +00:00
printf "\n\n\n ***** DONE *****\n\n\n"
ls -al dist/$VERSION
2022-02-10 08:39:29 +00:00
printf "\n\n"