Skip to content

Commit 7bd6863

Browse files
committed
bump nightlybuild version to 2.3.0-beta2
1 parent 911baa8 commit 7bd6863

File tree

2 files changed

+73
-6
lines changed

2 files changed

+73
-6
lines changed

build_release_macos.sh

+72-5
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
set -e
44
set -o pipefail
55

6-
while getopts ":dpa:snt:xbc:h" opt; do
6+
while getopts ":dpa:snt:xbc:hu" opt; do
77
case "${opt}" in
88
d )
99
export BUILD_TARGET="deps"
@@ -37,6 +37,9 @@ while getopts ":dpa:snt:xbc:h" opt; do
3737
1 )
3838
export CMAKE_BUILD_PARALLEL_LEVEL=1
3939
;;
40+
u )
41+
export BUILD_UNIVERSAL="1"
42+
;;
4043
h ) echo "Usage: ./build_release_macos.sh [-d]"
4144
echo " -d: Build deps only"
4245
echo " -a: Set ARCHITECTURE (arm64 or x86_64)"
@@ -46,6 +49,7 @@ while getopts ":dpa:snt:xbc:h" opt; do
4649
echo " -x: Use Ninja CMake generator, default is Xcode"
4750
echo " -b: Build without reconfiguring CMake"
4851
echo " -c: Set CMake build configuration, default is Release"
52+
echo " -u: Build universal binary (both arm64 and x86_64)"
4953
echo " -1: Use single job for building"
5054
exit 0
5155
;;
@@ -57,10 +61,18 @@ done
5761
# Set defaults
5862

5963
if [ -z "$ARCH" ]; then
60-
ARCH="$(uname -m)"
64+
if [ "1." == "$BUILD_UNIVERSAL". ]; then
65+
ARCH="universal"
66+
else
67+
ARCH="$(uname -m)"
68+
fi
6169
export ARCH
6270
fi
6371

72+
if [ "1." == "$BUILD_UNIVERSAL". ]; then
73+
echo "Universal build enabled - will create a combined arm64/x86_64 binary"
74+
fi
75+
6476
if [ -z "$BUILD_CONFIG" ]; then
6577
export BUILD_CONFIG="Release"
6678
fi
@@ -205,16 +217,71 @@ function build_slicer() {
205217
# zip -FSr OrcaSlicer${ver}_Mac_${ARCH}.zip OrcaSlicer.app
206218
}
207219

220+
function build_universal() {
221+
echo "Building universal binary..."
222+
# Save current ARCH
223+
ORIGINAL_ARCH="$ARCH"
224+
225+
# Build x86_64
226+
ARCH="x86_64"
227+
PROJECT_BUILD_DIR="$PROJECT_DIR/build_$ARCH"
228+
DEPS_BUILD_DIR="$DEPS_DIR/build_$ARCH"
229+
DEPS="$DEPS_BUILD_DIR/OrcaSlicer_dep_$ARCH"
230+
build_deps
231+
build_slicer
232+
233+
# Build arm64
234+
ARCH="arm64"
235+
PROJECT_BUILD_DIR="$PROJECT_DIR/build_$ARCH"
236+
DEPS_BUILD_DIR="$DEPS_DIR/build_$ARCH"
237+
DEPS="$DEPS_BUILD_DIR/OrcaSlicer_dep_$ARCH"
238+
build_deps
239+
build_slicer
240+
241+
# Restore original ARCH
242+
ARCH="$ORIGINAL_ARCH"
243+
PROJECT_BUILD_DIR="$PROJECT_DIR/build_$ARCH"
244+
DEPS_BUILD_DIR="$DEPS_DIR/build_$ARCH"
245+
DEPS="$DEPS_BUILD_DIR/OrcaSlicer_dep_$ARCH"
246+
247+
# Create universal binary
248+
echo "Creating universal binary..."
249+
PROJECT_BUILD_DIR="$PROJECT_DIR/build_Universal"
250+
mkdir -p "$PROJECT_BUILD_DIR/OrcaSlicer"
251+
UNIVERSAL_APP="$PROJECT_BUILD_DIR/OrcaSlicer/Universal_OrcaSlicer.app"
252+
rm -rf "$UNIVERSAL_APP"
253+
cp -R "$PROJECT_DIR/build_x86_64/OrcaSlicer/OrcaSlicer.app" "$UNIVERSAL_APP"
254+
255+
# Get the binary path inside the .app bundle
256+
BINARY_PATH="Contents/MacOS/OrcaSlicer"
257+
258+
# Create universal binary using lipo
259+
lipo -create \
260+
"$PROJECT_DIR/build_x86_64/OrcaSlicer/OrcaSlicer.app/$BINARY_PATH" \
261+
"$PROJECT_DIR/build_arm64/OrcaSlicer/OrcaSlicer.app/$BINARY_PATH" \
262+
-output "$UNIVERSAL_APP/$BINARY_PATH"
263+
264+
echo "Universal binary created at $UNIVERSAL_APP"
265+
}
266+
208267
case "${BUILD_TARGET}" in
209268
all)
210-
build_deps
211-
build_slicer
269+
if [ "1." == "$BUILD_UNIVERSAL". ]; then
270+
build_universal
271+
else
272+
build_deps
273+
build_slicer
274+
fi
212275
;;
213276
deps)
214277
build_deps
215278
;;
216279
slicer)
217-
build_slicer
280+
if [ "1." == "$BUILD_UNIVERSAL". ]; then
281+
build_universal
282+
else
283+
build_slicer
284+
fi
218285
;;
219286
*)
220287
echo "Unknown target: $BUILD_TARGET. Available targets: deps, slicer, all."

version.inc

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ endif()
1010
if(NOT DEFINED BBL_INTERNAL_TESTING)
1111
set(BBL_INTERNAL_TESTING "0")
1212
endif()
13-
set(SoftFever_VERSION "2.3.0-beta")
13+
set(SoftFever_VERSION "2.3.0-beta2")
1414
string(REGEX MATCH "^([0-9]+)\\.([0-9]+)\\.([0-9]+)"
1515
SoftFever_VERSION_MATCH ${SoftFever_VERSION})
1616
set(ORCA_VERSION_MAJOR ${CMAKE_MATCH_1})

0 commit comments

Comments
 (0)