@@ -22,9 +22,9 @@ set -ex
22
22
23
23
# Flags to pass to cmake when building a regular website build, Steam build is
24
24
# always without autoupdater and without update info. For nightlies and RCs use:
25
- # UPDATE_FLAGS="-DAUTOUPDATE=OFF -DINFORM_UPDATE=OFF" UPDATE_FLAGS_MACOSX =-DINFORM_UPDATE=OFF
25
+ # UPDATE_FLAGS="-DAUTOUPDATE=OFF -DINFORM_UPDATE=OFF" UPDATE_FLAGS_MACOS =-DINFORM_UPDATE=OFF
26
26
UPDATE_FLAGS=" ${UPDATE_FLAGS:- -DAUTOUPDATE=ON} "
27
- UPDATE_FLAGS_MACOSX =" ${UPDATE_FLAGS_MACOSX :- } "
27
+ UPDATE_FLAGS_MACOS =" ${UPDATE_FLAGS_MACOS :- } "
28
28
29
29
MAIN_REPO_USER=" ${MAIN_REPO_USER:- ddnet} "
30
30
MAIN_REPO_NAME=" ${MAIN_REPO_NAME:- ddnet} "
@@ -47,41 +47,60 @@ build_source ()
47
47
48
48
build_macos ()
49
49
{
50
- ARCH=$1
51
- SUFFIX=$2
52
- FLAGS=$3
53
- rm -rf macos$SUFFIX -$ARCH
54
- mkdir macos$SUFFIX -$ARCH
55
- cd macos$SUFFIX -$ARCH
50
+ SUFFIX=$1
51
+ FLAGS=$2
52
+ rm -rf macos$SUFFIX
53
+ mkdir macos$SUFFIX
54
+ cd macos$SUFFIX
56
55
PATH=${PATH: +$PATH : } /home/deen/git/osxcross/target/bin
57
56
eval ` osxcross-conf`
58
57
export OSXCROSS_OSX_VERSION_MIN=10.9
59
- if [ " $ARCH " = " fat" ]; then
60
- cmake -DVERSION=$VERSION -DCMAKE_OSX_ARCHITECTURES=" arm64;x86_64" -DCMAKE_BUILD_TYPE=Release -DVIDEORECORDER=ON -DDISCORD=OFF -DWEBSOCKETS=OFF -DPREFER_BUNDLED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/darwin-arm64.toolchain -DCMAKE_OSX_SYSROOT=/home/deen/git/osxcross/target/SDK/MacOSX11.0.sdk/ $( echo $FLAGS ) ../ddnet-source
61
- else
62
- cmake -DVERSION=$VERSION -DCMAKE_BUILD_TYPE=Release -DVIDEORECORDER=ON -DDISCORD=OFF -DWEBSOCKETS=OFF -DPREFER_BUNDLED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/darwin-$ARCH .toolchain -DCMAKE_OSX_SYSROOT=/home/deen/git/osxcross/target/SDK/MacOSX11.0.sdk/ $( echo $FLAGS ) ../ddnet-source
63
- fi
58
+ cmake -DVERSION=$VERSION -DCMAKE_OSX_ARCHITECTURES=" arm64;x86_64" -DCMAKE_BUILD_TYPE=Release -DVIDEORECORDER=ON -DDISCORD=ON -DWEBSOCKETS=OFF -DPREFER_BUNDLED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/darwin-arm64.toolchain -DCMAKE_OSX_SYSROOT=/home/deen/git/osxcross/target/SDK/MacOSX11.0.sdk/ $( echo $FLAGS ) ../ddnet-source
64
59
make -j1 package_default
65
60
}
66
61
67
62
build_macos_website ()
68
63
{
69
- ARCH=$1
70
- build_macos $ARCH " " $UPDATE_FLAGS_MACOSX
71
- mv DDNet-* .dmg $BUILDS /DDNet-$VERSION -macos-$ARCH .dmg
64
+ build_macos " " $UPDATE_FLAGS_MACOS
65
+ mv DDNet-* .dmg $BUILDS /DDNet-$VERSION -macos.dmg
72
66
cd ..
73
67
rm -rf macos
74
68
}
75
69
76
70
build_macos_steam ()
77
71
{
78
- ARCH=$1
79
- build_macos $ARCH -steam " -DSTEAM=ON"
80
- mv DDNet-* .dmg ../DDNet-$VERSION -steam-macos-$ARCH .dmg
72
+ build_macos -steam " -DSTEAM=ON"
73
+ mv DDNet-* .dmg ../DDNet-$VERSION -steam-macos.dmg
81
74
cd ..
82
75
rm -rf macos-steam
83
76
}
84
77
78
+ build_remote_macos ()
79
+ {
80
+ SUFFIX=$1
81
+ FLAGS=$2
82
+ ssh deen@si " rm -rf macos$SUFFIX && \
83
+ mkdir macos$SUFFIX && \
84
+ cd macos$SUFFIX && \
85
+ /opt/homebrew/bin/cmake -DVERSION=$VERSION -DCMAKE_OSX_ARCHITECTURES=\" arm64;x86_64\" -DCMAKE_BUILD_TYPE=Release -DVIDEORECORDER=ON -DDISCORD=ON -DWEBSOCKETS=OFF -DPREFER_BUNDLED_LIBS=ON $( echo $FLAGS ) ../ddnet-source && \
86
+ make -j10 package_default
87
+ "
88
+ }
89
+
90
+ build_remote_macos_website ()
91
+ {
92
+ build_remote_macos " " $UPDATE_FLAGS_MACOS
93
+ scp deen@si:macos/DDNet-\* .dmg $BUILDS /DDNet-$VERSION -macos.dmg
94
+ ssh deen@si " rm -rf macos"
95
+ }
96
+
97
+ build_remote_macos_steam ()
98
+ {
99
+ build_remote_macos -steam " -DSTEAM=ON"
100
+ scp deen@si:macos-steam/DDNet-\* .dmg DDNet-$VERSION -steam-macos.dmg
101
+ ssh deen@si " rm -rf macos-steam"
102
+ }
103
+
85
104
build_linux ()
86
105
{
87
106
PLATFORM=$1
@@ -172,10 +191,13 @@ build_source &
172
191
unzip -q libs.zip
173
192
rm -rf ddnet-source/ddnet-libs
174
193
mv $LIBS_REPO_NAME -$LIBS_REPO_BRANCH ddnet-source/ddnet-libs
194
+ ssh deen@si " rm -rf ddnet-source"
195
+ rsync -avzP ddnet-source deen@si:
175
196
176
- (build_macos_website x86_64; build_macos_steam x86_64) & > builds/mac_x86_64.log &
177
- (build_macos_website arm64; build_macos_steam arm64) & > builds/mac_arm64.log &
178
- (build_macos_website fat; build_macos_steam fat) & > builds/mac_fat.log &
197
+ # Can't cross-compiler currently since macOS with arm is stricter with unsigned
198
+ # binaries and signing doesn't work. Temporarily use build from macOS:
199
+ (build_remote_macos_website; build_remote_macos_steam) & > builds/mac.log &
200
+ # (build_macos_website; build_macos_steam) &> builds/mac.log &
179
201
180
202
build_linux x86_64 $BUILDDIR /debian6 & > builds/linux_x86_64.log &
181
203
CFLAGS=-m32 LDFLAGS=-m32 build_linux x86 $BUILDDIR /debian6_x86 & > builds/linux_x86.log &
@@ -236,7 +258,7 @@ cp $BUILDDIR/steamworks/sdk/redistributable_bin/linux32/libsteam_api.so ddnet
236
258
zip -9r DDNet-$VERSION -linux_x86.zip ddnet
237
259
rm -r ddnet
238
260
239
- 7z x ../DDNet-$VERSION -steam-macos-x86_64 .dmg
261
+ 7z x ../DDNet-$VERSION -steam-macos.dmg
240
262
rm -r DDNet-* -macos/DDNet.app/Contents/Resources/data DDNet-* -macos/DDNet-Server.app/Contents/Resources/data
241
263
mkdir ddnet
242
264
mv DDNet-* -macos/DDNet.app/Contents/MacOS/DDNet DDNet-* -macos/DDNet-Server.app/Contents/MacOS/DDNet-Server* ddnet
@@ -247,6 +269,7 @@ zip -9r DDNet-$VERSION-macos.zip ddnet Frameworks
247
269
rm -r ddnet Frameworks DDNet-* -macos
248
270
249
271
rm -rf ddnet-source
272
+ ssh deen@si " rm -rf ddnet-source"
250
273
251
274
NOW=$( date +' %F %R' )
252
275
echo " Finished build of $VERSION at $NOW "
0 commit comments