orcaslicer/build_release_macos.sh

101 lines
2.7 KiB
Bash
Raw Normal View History

2022-09-30 08:18:11 +00:00
#!/bin/sh
2023-01-12 14:55:50 +00:00
2023-03-12 02:02:38 +00:00
while getopts ":a:sdphn" opt; do
2023-01-12 14:55:50 +00:00
case ${opt} in
d )
export BUILD_TARGET="deps"
;;
2023-03-12 02:02:38 +00:00
p )
export PACK_DEPS="1"
;;
2023-01-12 14:55:50 +00:00
a )
export ARCH="$OPTARG"
;;
s )
export BUILD_TARGET="slicer"
2023-01-12 14:55:50 +00:00
;;
n )
export NIGHTLY_BUILD="1"
;;
h ) echo "Usage: ./build_release_macos.sh [-d]"
echo " -d: Build deps only"
echo " -a: Set ARCHITECTURE (arm64 or x86_64)"
echo " -s: Build slicer only"
2023-01-12 14:55:50 +00:00
echo " -n: Nightly build"
exit 0
;;
esac
done
if [ -z "$ARCH" ]
then
export ARCH=$(uname -m)
fi
echo "Arch: $ARCH"
echo "BUILD_TARGET: $BUILD_TARGET"
if which -s brew; then
brew --prefix libiconv
brew --prefix zstd
export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix zstd)/lib/
elif which -s port; then
port install libiconv
port install zstd
export LIBRARY_PATH=$LIBRARY_PATH:/opt/local/lib
else
echo "Need either brew or macports to successfully build deps"
exit 1
fi
2023-01-12 14:55:50 +00:00
2022-12-13 03:48:52 +00:00
WD="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd $WD/deps
2023-03-10 10:35:57 +00:00
mkdir -p build_$ARCH
cd build_$ARCH
2023-03-12 02:02:38 +00:00
DEPS=$PWD/OrcaSlicer_dep_$ARCH
2022-09-30 08:18:11 +00:00
mkdir -p $DEPS
if [ "slicer." != $BUILD_TARGET. ];
2023-01-12 14:55:50 +00:00
then
echo "building deps..."
echo "cmake ../ -DDESTDIR=$DEPS -DOPENSSL_ARCH=darwin64-${ARCH}-cc -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES:STRING=${ARCH}"
cmake ../ -DDESTDIR="$DEPS" -DOPENSSL_ARCH="darwin64-${ARCH}-cc" -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES:STRING=${ARCH}
2023-08-06 10:24:49 +00:00
cmake --build . --config Release --target deps
2023-03-12 02:02:38 +00:00
if [ "1." == "$PACK_DEPS". ];
then
tar -zcvf OrcaSlicer_dep_mac_${ARCH}_$(date +"%d-%m-%Y").tar.gz OrcaSlicer_dep_$ARCH
fi
2023-01-12 14:55:50 +00:00
fi
if [ "deps." == "$BUILD_TARGET". ];
then
exit 0
fi
2022-09-30 08:18:11 +00:00
cd $WD
2023-03-10 10:35:57 +00:00
mkdir -p build_$ARCH
cd build_$ARCH
echo "building slicer..."
2023-03-16 12:50:23 +00:00
cmake .. -GXcode -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="$DEPS/usr/local" -DCMAKE_INSTALL_PREFIX="$PWD/OrcaSlicer" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MACOSX_RPATH=ON -DCMAKE_INSTALL_RPATH="$DEPS/usr/local" -DCMAKE_MACOSX_BUNDLE=ON -DCMAKE_OSX_ARCHITECTURES=${ARCH}
cmake --build . --config Release --target ALL_BUILD
2023-03-16 12:50:23 +00:00
mkdir -p OrcaSlicer
cd OrcaSlicer
2023-03-10 10:58:43 +00:00
rm -r ./OrcaSlicer.app
cp -pR ../src/Release/OrcaSlicer.app ./OrcaSlicer.app
resources_path=$(readlink ./OrcaSlicer.app/Contents/Resources)
rm ./OrcaSlicer.app/Contents/Resources
cp -R $resources_path ./OrcaSlicer.app/Contents/Resources
2023-01-14 03:57:59 +00:00
# delete .DS_Store file
2023-03-10 10:58:43 +00:00
find ./OrcaSlicer.app/ -name '.DS_Store' -delete
# extract version
2023-03-15 17:29:29 +00:00
# export ver=$(grep '^#define SoftFever_VERSION' ../src/libslic3r/libslic3r_version.h | cut -d ' ' -f3)
# ver="_V${ver//\"}"
# echo $PWD
# if [ "1." != "$NIGHTLY_BUILD". ];
# then
# ver=${ver}_dev
# fi
2023-01-12 14:55:50 +00:00
2023-03-15 17:29:29 +00:00
# zip -FSr OrcaSlicer${ver}_Mac_${ARCH}.zip OrcaSlicer.app