Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
stenzek
GitHub Repository: stenzek/duckstation
Path: blob/master/scripts/deps/build-dependencies-linux.sh
4802 views
1
#!/usr/bin/env bash
2
3
# SPDX-FileCopyrightText: 2019-2025 Connor McLaughlin <[email protected]>
4
# SPDX-License-Identifier: CC-BY-NC-ND-4.0
5
#
6
# NOTE: In addition to the terms of CC-BY-NC-ND-4.0, you may not use this file to create
7
# packages or build recipes without explicit permission from the copyright holder.
8
#
9
10
set -e
11
12
if [ "$#" -lt 1 ]; then
13
echo "Syntax: $0 [-skip-download] [-skip-cleanup] [-only-download] <output directory>"
14
exit 1
15
fi
16
17
for arg in "$@"; do
18
if [ "$arg" == "-skip-download" ]; then
19
echo "Not downloading sources."
20
SKIP_DOWNLOAD=true
21
shift
22
elif [ "$arg" == "-skip-cleanup" ]; then
23
echo "Not removing build directory."
24
SKIP_CLEANUP=true
25
shift
26
elif [ "$arg" == "-only-download" ]; then
27
echo "Only downloading sources."
28
ONLY_DOWNLOAD=true
29
shift
30
fi
31
done
32
33
SCRIPTDIR=$(realpath $(dirname "${BASH_SOURCE[0]}"))
34
NPROCS="$(getconf _NPROCESSORS_ONLN)"
35
INSTALLDIR="$1"
36
if [ "${INSTALLDIR:0:1}" != "/" ]; then
37
INSTALLDIR="$PWD/$INSTALLDIR"
38
fi
39
40
source "$SCRIPTDIR/versions"
41
42
mkdir -p deps-build
43
cd deps-build
44
45
if [[ "$SKIP_DOWNLOAD" != true && ! -f "libbacktrace-$LIBBACKTRACE.tar.gz" ]]; then
46
curl -C - -L \
47
-o "freetype-$FREETYPE.tar.gz" "https://sourceforge.net/projects/freetype/files/freetype2/$FREETYPE/freetype-$FREETYPE.tar.gz/download" \
48
-o "harfbuzz-$HARFBUZZ.tar.gz" "https://github.com/harfbuzz/harfbuzz/archive/refs/tags/$HARFBUZZ.tar.gz" \
49
-O "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/$LIBJPEGTURBO/libjpeg-turbo-$LIBJPEGTURBO.tar.gz" \
50
-O "https://downloads.sourceforge.net/project/libpng/libpng16/$LIBPNG/libpng-$LIBPNG.tar.gz" \
51
-O "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-$LIBWEBP.tar.gz" \
52
-O "https://github.com/nih-at/libzip/releases/download/v$LIBZIP/libzip-$LIBZIP.tar.gz" \
53
-o "zlib-ng-$ZLIBNG.tar.gz" "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/$ZLIBNG.tar.gz" \
54
-O "https://github.com/facebook/zstd/releases/download/v$ZSTD/zstd-$ZSTD.tar.gz" \
55
-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qtbase-everywhere-src-$QT.tar.xz" \
56
-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qtimageformats-everywhere-src-$QT.tar.xz" \
57
-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qtsvg-everywhere-src-$QT.tar.xz" \
58
-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qttools-everywhere-src-$QT.tar.xz" \
59
-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qttranslations-everywhere-src-$QT.tar.xz" \
60
-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qtwayland-everywhere-src-$QT.tar.xz" \
61
-o "libbacktrace-$LIBBACKTRACE_COMMIT.tar.gz" "https://github.com/ianlancetaylor/libbacktrace/archive/$LIBBACKTRACE_COMMIT.tar.gz" \
62
-O "https://github.com/libsdl-org/SDL/releases/download/release-$SDL3/SDL3-$SDL3.tar.gz" \
63
-o "cpuinfo-$CPUINFO_COMMIT.tar.gz" "https://github.com/stenzek/cpuinfo/archive/$CPUINFO_COMMIT.tar.gz" \
64
-o "discord-rpc-$DISCORD_RPC_COMMIT.tar.gz" "https://github.com/stenzek/discord-rpc/archive/$DISCORD_RPC_COMMIT.tar.gz" \
65
-o "plutosvg-$PLUTOSVG_COMMIT.tar.gz" "https://github.com/stenzek/plutosvg/archive/$PLUTOSVG_COMMIT.tar.gz" \
66
-o "shaderc-$SHADERC_COMMIT.tar.gz" "https://github.com/stenzek/shaderc/archive/$SHADERC_COMMIT.tar.gz" \
67
-o "soundtouch-$SOUNDTOUCH_COMMIT.tar.gz" "https://github.com/stenzek/soundtouch/archive/$SOUNDTOUCH_COMMIT.tar.gz"
68
fi
69
70
cat > SHASUMS <<EOF
71
$FREETYPE_GZ_HASH freetype-$FREETYPE.tar.gz
72
$HARFBUZZ_GZ_HASH harfbuzz-$HARFBUZZ.tar.gz
73
$LIBJPEGTURBO_GZ_HASH libjpeg-turbo-$LIBJPEGTURBO.tar.gz
74
$LIBPNG_GZ_HASH libpng-$LIBPNG.tar.gz
75
$LIBWEBP_GZ_HASH libwebp-$LIBWEBP.tar.gz
76
$LIBZIP_GZ_HASH libzip-$LIBZIP.tar.gz
77
$ZLIBNG_GZ_HASH zlib-ng-$ZLIBNG.tar.gz
78
$ZSTD_GZ_HASH zstd-$ZSTD.tar.gz
79
$QTBASE_XZ_HASH qtbase-everywhere-src-$QT.tar.xz
80
$QTIMAGEFORMATS_XZ_HASH qtimageformats-everywhere-src-$QT.tar.xz
81
$QTSVG_XZ_HASH qtsvg-everywhere-src-$QT.tar.xz
82
$QTTOOLS_XZ_HASH qttools-everywhere-src-$QT.tar.xz
83
$QTTRANSLATIONS_XZ_HASH qttranslations-everywhere-src-$QT.tar.xz
84
$QTWAYLAND_XZ_HASH qtwayland-everywhere-src-$QT.tar.xz
85
$LIBBACKTRACE_GZ_HASH libbacktrace-$LIBBACKTRACE_COMMIT.tar.gz
86
$SDL3_GZ_HASH SDL3-$SDL3.tar.gz
87
$CPUINFO_GZ_HASH cpuinfo-$CPUINFO_COMMIT.tar.gz
88
$DISCORD_RPC_GZ_HASH discord-rpc-$DISCORD_RPC_COMMIT.tar.gz
89
$PLUTOSVG_GZ_HASH plutosvg-$PLUTOSVG_COMMIT.tar.gz
90
$SHADERC_GZ_HASH shaderc-$SHADERC_COMMIT.tar.gz
91
$SOUNDTOUCH_GZ_HASH soundtouch-$SOUNDTOUCH_COMMIT.tar.gz
92
EOF
93
94
shasum -a 256 --check SHASUMS
95
96
# Have to clone with git, because it does version detection.
97
if [[ "$SKIP_DOWNLOAD" != true && ! -d "SPIRV-Cross" ]]; then
98
git clone https://github.com/KhronosGroup/SPIRV-Cross/ -b $SPIRV_CROSS_TAG --depth 1
99
if [ "$(git --git-dir=SPIRV-Cross/.git rev-parse HEAD)" != "$SPIRV_CROSS_SHA" ]; then
100
echo "SPIRV-Cross version mismatch, expected $SPIRV_CROSS_SHA, got $(git rev-parse HEAD)"
101
exit 1
102
fi
103
fi
104
105
# Only downloading sources?
106
if [ "$ONLY_DOWNLOAD" == true ]; then
107
exit 0
108
fi
109
110
# Build zlib first because of the things that depend on it.
111
echo "Building zlib-ng..."
112
rm -fr "zlib-ng-$ZLIBNG"
113
tar xf "zlib-ng-$ZLIBNG.tar.gz"
114
cd "zlib-ng-$ZLIBNG"
115
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DBUILD_SHARED_LIBS=ON -DZLIB_COMPAT=ON -DZLIBNG_ENABLE_TESTS=OFF -DZLIB_ENABLE_TESTS=OFF -DWITH_GTEST=OFF -B build -G Ninja
116
cmake --build build --parallel
117
ninja -C build install
118
cd ..
119
120
echo "Building libbacktrace..."
121
rm -fr "libbacktrace-$LIBBACKTRACE_COMMIT"
122
tar xf "libbacktrace-$LIBBACKTRACE_COMMIT.tar.gz"
123
cd "libbacktrace-$LIBBACKTRACE_COMMIT"
124
CFLAGS="-fmacro-prefix-map=\"${PWD}\"=. -ffile-prefix-map=\"${PWD}\"=." ./configure --prefix="$INSTALLDIR" --with-pic
125
make
126
make install
127
cd ..
128
129
echo "Building libpng..."
130
rm -fr "libpng-$LIBPNG"
131
tar xf "libpng-$LIBPNG.tar.gz"
132
cd "libpng-$LIBPNG"
133
patch -p1 < "$SCRIPTDIR/libpng-1.6.50-apng.patch"
134
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DBUILD_SHARED_LIBS=ON -DPNG_TESTS=OFF -DPNG_STATIC=OFF -DPNG_SHARED=ON -DPNG_TOOLS=OFF -B build -G Ninja
135
cmake --build build --parallel
136
ninja -C build install
137
cd ..
138
139
echo "Building libjpeg..."
140
rm -fr "libjpeg-turbo-$LIBJPEGTURBO"
141
tar xf "libjpeg-turbo-$LIBJPEGTURBO.tar.gz"
142
cd "libjpeg-turbo-$LIBJPEGTURBO"
143
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DENABLE_STATIC=OFF -DENABLE_SHARED=ON -B build -G Ninja
144
cmake --build build --parallel
145
ninja -C build install
146
cd ..
147
148
echo "Building Zstandard..."
149
rm -fr "zstd-$ZSTD"
150
tar xf "zstd-$ZSTD.tar.gz"
151
cd "zstd-$ZSTD"
152
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DBUILD_SHARED_LIBS=ON -DZSTD_BUILD_SHARED=ON -DZSTD_BUILD_STATIC=OFF -DZSTD_BUILD_PROGRAMS=OFF -B build -G Ninja build/cmake
153
cmake --build build --parallel
154
ninja -C build install
155
cd ..
156
157
echo "Building WebP..."
158
rm -fr "libwebp-$LIBWEBP"
159
tar xf "libwebp-$LIBWEBP.tar.gz"
160
cd "libwebp-$LIBWEBP"
161
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -B build -G Ninja \
162
-DWEBP_BUILD_ANIM_UTILS=OFF -DWEBP_BUILD_CWEBP=OFF -DWEBP_BUILD_DWEBP=OFF -DWEBP_BUILD_GIF2WEBP=OFF -DWEBP_BUILD_IMG2WEBP=OFF \
163
-DWEBP_BUILD_VWEBP=OFF -DWEBP_BUILD_WEBPINFO=OFF -DWEBP_BUILD_WEBPMUX=OFF -DWEBP_BUILD_EXTRAS=OFF -DBUILD_SHARED_LIBS=ON
164
cmake --build build --parallel
165
ninja -C build install
166
cd ..
167
168
echo "Building libzip..."
169
rm -fr "libzip-$LIBZIP"
170
tar xf "libzip-$LIBZIP.tar.gz"
171
cd "libzip-$LIBZIP"
172
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -B build -G Ninja \
173
-DENABLE_COMMONCRYPTO=OFF -DENABLE_GNUTLS=OFF -DENABLE_MBEDTLS=OFF -DENABLE_OPENSSL=OFF -DENABLE_WINDOWS_CRYPTO=OFF \
174
-DENABLE_BZIP2=OFF -DENABLE_LZMA=OFF -DENABLE_ZSTD=ON -DBUILD_SHARED_LIBS=ON -DLIBZIP_DO_INSTALL=ON \
175
-DBUILD_TOOLS=OFF -DBUILD_REGRESS=OFF -DBUILD_OSSFUZZ=OFF -DBUILD_EXAMPLES=OFF -DBUILD_DOC=OFF
176
cmake --build build --parallel
177
ninja -C build install
178
cd ..
179
180
echo "Building FreeType..."
181
rm -fr "freetype-$FREETYPE"
182
tar xf "freetype-$FREETYPE.tar.gz"
183
cd "freetype-$FREETYPE"
184
patch -p1 < "$SCRIPTDIR/freetype-harfbuzz-soname.patch"
185
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DBUILD_SHARED_LIBS=ON -DFT_REQUIRE_ZLIB=ON -DFT_REQUIRE_PNG=ON -DFT_DISABLE_BZIP2=TRUE -DFT_DISABLE_BROTLI=TRUE -DFT_DYNAMIC_HARFBUZZ=TRUE -B build -G Ninja
186
cmake --build build --parallel
187
ninja -C build install
188
cd ..
189
190
echo "Building HarfBuzz..."
191
rm -fr "harfbuzz-$HARFBUZZ"
192
tar xf "harfbuzz-$HARFBUZZ.tar.gz"
193
cd "harfbuzz-$HARFBUZZ"
194
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DBUILD_SHARED_LIBS=ON -DHB_BUILD_UTILS=OFF -B build -G Ninja
195
cmake --build build --parallel
196
ninja -C build install
197
cd ..
198
199
echo "Building SDL..."
200
rm -fr "SDL3-$SDL3"
201
tar xf "SDL3-$SDL3.tar.gz"
202
cd "SDL3-$SDL3"
203
cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DBUILD_SHARED_LIBS=ON -DSDL_SHARED=ON -DSDL_STATIC=OFF -DSDL_TESTS=OFF -G Ninja
204
cmake --build build --parallel
205
ninja -C build install
206
cd ..
207
208
# Couple notes:
209
# -fontconfig is needed otherwise Qt Widgets render only boxes.
210
# -qt-doubleconversion avoids a dependency on libdouble-conversion.
211
# ICU avoids pulling in a bunch of large libraries, and hopefully we can get away without it.
212
# OpenGL is needed to render window decorations in Wayland, apparently.
213
echo "Building Qt Base..."
214
rm -fr "qtbase-everywhere-src-$QT"
215
tar xf "qtbase-everywhere-src-$QT.tar.xz"
216
cd "qtbase-everywhere-src-$QT"
217
patch -p1 < "$SCRIPTDIR/qtbase-disable-pcre2-jit.patch"
218
patch -p1 < "$SCRIPTDIR/qtbase-fusion-style.patch"
219
mkdir build
220
cd build
221
../configure -prefix "$INSTALLDIR" -release -dbus-linked -fontconfig -qt-doubleconversion -ssl -openssl-runtime -opengl desktop -qpa xcb,wayland -xkbcommon -xcb -gtk -- -DQT_GENERATE_SBOM=OFF -DFEATURE_cups=OFF -DFEATURE_dbus=ON -DFEATURE_icu=OFF -DFEATURE_sql=OFF -DFEATURE_system_png=ON -DFEATURE_system_jpeg=ON -DFEATURE_system_zlib=ON -DFEATURE_system_freetype=ON -DFEATURE_system_harfbuzz=ON
222
cmake --build . --parallel
223
ninja install
224
cd ../../
225
226
echo "Building Qt SVG..."
227
rm -fr "qtsvg-everywhere-src-$QT"
228
tar xf "qtsvg-everywhere-src-$QT.tar.xz"
229
cd "qtsvg-everywhere-src-$QT"
230
mkdir build
231
cd build
232
"$INSTALLDIR/bin/qt-configure-module" .. -- -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DQT_GENERATE_SBOM=OFF
233
cmake --build . --parallel
234
ninja install
235
cd ../../
236
237
echo "Building Qt Image Formats..."
238
rm -fr "qtimageformats-everywhere-src-$QT"
239
tar xf "qtimageformats-everywhere-src-$QT.tar.xz"
240
cd "qtimageformats-everywhere-src-$QT"
241
mkdir build
242
cd build
243
"$INSTALLDIR/bin/qt-configure-module" .. -- -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DQT_GENERATE_SBOM=OFF -DFEATURE_system_webp=ON
244
cmake --build . --parallel
245
ninja install
246
cd ../../
247
248
echo "Building Qt Wayland..."
249
rm -fr "qtwayland-everywhere-src-$QT"
250
tar xf "qtwayland-everywhere-src-$QT.tar.xz"
251
cd "qtwayland-everywhere-src-$QT"
252
mkdir build
253
cd build
254
"$INSTALLDIR/bin/qt-configure-module" .. -- -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DQT_GENERATE_SBOM=OFF -DFEATURE_wayland_server=OFF
255
cmake --build . --parallel
256
ninja install
257
cd ../../
258
259
echo "Installing Qt Tools..."
260
rm -fr "qttools-everywhere-src-$QT"
261
tar xf "qttools-everywhere-src-$QT.tar.xz"
262
cd "qttools-everywhere-src-$QT"
263
264
# Force disable clang scanning, it gets very confused.
265
patch -u configure.cmake <<EOF
266
--- configure.cmake
267
+++ configure.cmake
268
@@ -3,11 +3,11 @@
269
270
#### Tests
271
272
-qt_find_package(WrapLibClang 8 PROVIDED_TARGETS WrapLibClang::WrapLibClang)
273
+#qt_find_package(WrapLibClang 8 PROVIDED_TARGETS WrapLibClang::WrapLibClang)
274
275
-if(TARGET WrapLibClang::WrapLibClang)
276
- set(TEST_libclang "ON" CACHE BOOL "Required libclang version found." FORCE)
277
-endif()
278
+#if(TARGET WrapLibClang::WrapLibClang)
279
+# set(TEST_libclang "ON" CACHE BOOL "Required libclang version found." FORCE)
280
+#endif()
281
282
283
284
285
EOF
286
287
mkdir build
288
cd build
289
"$INSTALLDIR/bin/qt-configure-module" .. -- -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DQT_GENERATE_SBOM=OFF -DFEATURE_assistant=OFF -DFEATURE_clang=OFF -DFEATURE_designer=ON -DFEATURE_kmap2qmap=OFF -DFEATURE_pixeltool=OFF -DFEATURE_pkg_config=OFF -DFEATURE_qev=OFF -DFEATURE_qtattributionsscanner=OFF -DFEATURE_qtdiag=OFF -DFEATURE_qtplugininfo=OFF
290
cmake --build . --parallel
291
ninja install
292
cd ../../
293
294
echo "Installing Qt Translations..."
295
rm -fr "qttranslations-everywhere-src-$QT"
296
tar xf "qttranslations-everywhere-src-$QT.tar.xz"
297
cd "qttranslations-everywhere-src-$QT"
298
mkdir build
299
cd build
300
"$INSTALLDIR/bin/qt-configure-module" .. -- -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DQT_GENERATE_SBOM=OFF
301
cmake --build . --parallel
302
ninja install
303
cd ../../
304
305
echo "Building shaderc..."
306
rm -fr "shaderc-$SHADERC_COMMIT"
307
tar xf "shaderc-$SHADERC_COMMIT.tar.gz"
308
cd "shaderc-$SHADERC_COMMIT"
309
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DSHADERC_SKIP_TESTS=ON -DSHADERC_SKIP_EXAMPLES=ON -DSHADERC_SKIP_COPYRIGHT_CHECK=ON -B build -G Ninja
310
cmake --build build --parallel
311
ninja -C build install
312
cd ..
313
314
echo "Building SPIRV-Cross..."
315
cd SPIRV-Cross
316
rm -fr build
317
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DSPIRV_CROSS_SHARED=ON -DSPIRV_CROSS_STATIC=OFF -DSPIRV_CROSS_CLI=OFF -DSPIRV_CROSS_ENABLE_TESTS=OFF -DSPIRV_CROSS_ENABLE_GLSL=ON -DSPIRV_CROSS_ENABLE_HLSL=OFF -DSPIRV_CROSS_ENABLE_MSL=OFF -DSPIRV_CROSS_ENABLE_CPP=OFF -DSPIRV_CROSS_ENABLE_REFLECT=OFF -DSPIRV_CROSS_ENABLE_C_API=ON -DSPIRV_CROSS_ENABLE_UTIL=ON -B build -G Ninja
318
cmake --build build --parallel
319
ninja -C build install
320
cd ..
321
322
echo "Building cpuinfo..."
323
rm -fr "cpuinfo-$CPUINFO_COMMIT"
324
tar xf "cpuinfo-$CPUINFO_COMMIT.tar.gz"
325
cd "cpuinfo-$CPUINFO_COMMIT"
326
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DCPUINFO_LIBRARY_TYPE=shared -DCPUINFO_RUNTIME_TYPE=shared -DCPUINFO_LOG_LEVEL=error -DCPUINFO_LOG_TO_STDIO=ON -DCPUINFO_BUILD_TOOLS=OFF -DCPUINFO_BUILD_UNIT_TESTS=OFF -DCPUINFO_BUILD_MOCK_TESTS=OFF -DCPUINFO_BUILD_BENCHMARKS=OFF -DUSE_SYSTEM_LIBS=ON -B build -G Ninja
327
cmake --build build --parallel
328
ninja -C build install
329
cd ..
330
331
echo "Building discord-rpc..."
332
rm -fr "discord-rpc-$DISCORD_RPC_COMMIT"
333
tar xf "discord-rpc-$DISCORD_RPC_COMMIT.tar.gz"
334
cd "discord-rpc-$DISCORD_RPC_COMMIT"
335
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DBUILD_SHARED_LIBS=ON -B build -G Ninja
336
cmake --build build --parallel
337
ninja -C build install
338
cd ..
339
340
echo "Building plutosvg..."
341
rm -fr "plutosvg-$PLUTOSVG_COMMIT"
342
tar xf "plutosvg-$PLUTOSVG_COMMIT.tar.gz"
343
cd "plutosvg-$PLUTOSVG_COMMIT"
344
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DBUILD_SHARED_LIBS=ON -DPLUTOSVG_ENABLE_FREETYPE=ON -DPLUTOSVG_BUILD_EXAMPLES=OFF -B build -G Ninja
345
cmake --build build --parallel
346
ninja -C build install
347
cd ..
348
349
echo "Building soundtouch..."
350
rm -fr "soundtouch-$SOUNDTOUCH_COMMIT"
351
tar xf "soundtouch-$SOUNDTOUCH_COMMIT.tar.gz"
352
cd "soundtouch-$SOUNDTOUCH_COMMIT"
353
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -B build -G Ninja
354
cmake --build build --parallel
355
ninja -C build install
356
cd ..
357
358
if [ "$SKIP_CLEANUP" != true ]; then
359
echo "Cleaning up..."
360
cd ..
361
rm -fr deps-build
362
fi
363
364