修改Mac编译脚本

This commit is contained in:
于肖辉 2025-06-04 09:30:25 +08:00
parent fe136ed6cf
commit b095652bd8

View File

@ -156,7 +156,7 @@ function pack_deps() {
set -x
mkdir -p "$DEPS"
cd "$DEPS_BUILD_DIR"
tar -zcvf "OrcaSlicer_dep_mac_${ARCH}_$(date +"%Y%m%d").tar.gz" "OrcaSlicer_dep_$ARCH"
tar -zcvf "CreatWare_dep_mac_${ARCH}_$(date +"%Y%m%d").tar.gz" "CreatWare_dep_$ARCH"
)
}
@ -171,7 +171,7 @@ function build_slicer() {
-G "${SLICER_CMAKE_GENERATOR}" \
-DBBL_RELEASE_TO_PUBLIC=1 \
-DCMAKE_PREFIX_PATH="$DEPS/usr/local" \
-DCMAKE_INSTALL_PREFIX="$PWD/OrcaSlicer" \
-DCMAKE_INSTALL_PREFIX="$PWD/CreatWare" \
-DCMAKE_BUILD_TYPE="$BUILD_CONFIG" \
-DCMAKE_MACOSX_RPATH=ON \
-DCMAKE_INSTALL_RPATH="${DEPS}/usr/local" \
@ -191,18 +191,18 @@ function build_slicer() {
echo "Fix macOS app package..."
(
cd "$PROJECT_BUILD_DIR"
mkdir -p OrcaSlicer
cd OrcaSlicer
mkdir -p CreatWare
cd CreatWare
# remove previously built app
rm -rf ./OrcaSlicer.app
rm -rf ./CreatWare.app
# fully copy newly built app
cp -pR "../src$BUILD_DIR_CONFIG_SUBDIR/OrcaSlicer.app" ./OrcaSlicer.app
cp -pR "../src$BUILD_DIR_CONFIG_SUBDIR/CreatWare.app" ./CreatWare.app
# fix resources
resources_path=$(readlink ./OrcaSlicer.app/Contents/Resources)
rm ./OrcaSlicer.app/Contents/Resources
cp -R "$resources_path" ./OrcaSlicer.app/Contents/Resources
resources_path=$(readlink ./CreatWare.app/Contents/Resources)
rm ./CreatWare.app/Contents/Resources
cp -R "$resources_path" ./CreatWare.app/Contents/Resources
# delete .DS_Store file
find ./OrcaSlicer.app/ -name '.DS_Store' -delete
find ./CreatWare.app/ -name '.DS_Store' -delete
)
# extract version
@ -214,7 +214,7 @@ function build_slicer() {
# ver=${ver}_dev
# fi
# zip -FSr OrcaSlicer${ver}_Mac_${ARCH}.zip OrcaSlicer.app
# zip -FSr CreatWare${ver}_Mac_${ARCH}.zip CreatWare.app
}
function build_universal() {
@ -226,7 +226,7 @@ function build_universal() {
ARCH="x86_64"
PROJECT_BUILD_DIR="$PROJECT_DIR/build_$ARCH"
DEPS_BUILD_DIR="$DEPS_DIR/build_$ARCH"
DEPS="$DEPS_BUILD_DIR/OrcaSlicer_dep_$ARCH"
DEPS="$DEPS_BUILD_DIR/CreatWare_dep_$ARCH"
build_deps
build_slicer
@ -234,7 +234,7 @@ function build_universal() {
ARCH="arm64"
PROJECT_BUILD_DIR="$PROJECT_DIR/build_$ARCH"
DEPS_BUILD_DIR="$DEPS_DIR/build_$ARCH"
DEPS="$DEPS_BUILD_DIR/OrcaSlicer_dep_$ARCH"
DEPS="$DEPS_BUILD_DIR/CreatWare_dep_$ARCH"
build_deps
build_slicer
@ -242,23 +242,23 @@ function build_universal() {
ARCH="$ORIGINAL_ARCH"
PROJECT_BUILD_DIR="$PROJECT_DIR/build_$ARCH"
DEPS_BUILD_DIR="$DEPS_DIR/build_$ARCH"
DEPS="$DEPS_BUILD_DIR/OrcaSlicer_dep_$ARCH"
DEPS="$DEPS_BUILD_DIR/CreatWare_dep_$ARCH"
# Create universal binary
echo "Creating universal binary..."
PROJECT_BUILD_DIR="$PROJECT_DIR/build_Universal"
mkdir -p "$PROJECT_BUILD_DIR/OrcaSlicer"
UNIVERSAL_APP="$PROJECT_BUILD_DIR/OrcaSlicer/Universal_OrcaSlicer.app"
mkdir -p "$PROJECT_BUILD_DIR/CreatWare"
UNIVERSAL_APP="$PROJECT_BUILD_DIR/CreatWare/Universal_CreatWare.app"
rm -rf "$UNIVERSAL_APP"
cp -R "$PROJECT_DIR/build_x86_64/OrcaSlicer/OrcaSlicer.app" "$UNIVERSAL_APP"
cp -R "$PROJECT_DIR/build_x86_64/CreatWare/CreatWare.app" "$UNIVERSAL_APP"
# Get the binary path inside the .app bundle
BINARY_PATH="Contents/MacOS/OrcaSlicer"
BINARY_PATH="Contents/MacOS/CreatWare"
# Create universal binary using lipo
lipo -create \
"$PROJECT_DIR/build_x86_64/OrcaSlicer/OrcaSlicer.app/$BINARY_PATH" \
"$PROJECT_DIR/build_arm64/OrcaSlicer/OrcaSlicer.app/$BINARY_PATH" \
"$PROJECT_DIR/build_x86_64/CreatWare/CreatWare.app/$BINARY_PATH" \
"$PROJECT_DIR/build_arm64/CreatWare/CreatWare.app/$BINARY_PATH" \
-output "$UNIVERSAL_APP/$BINARY_PATH"
echo "Universal binary created at $UNIVERSAL_APP"