14
14
15
15
FORMULA_TYPES=( " osx" " vs" )
16
16
17
- FORMULA_DEPENDS=( " pkg-config " " zlib" " libpng" " pixman" " freetype" )
17
+ FORMULA_DEPENDS=( " zlib" " libpng" " pixman" " freetype" )
18
18
19
19
# tell apothecary we want to manually call the dependency commands
20
20
# as we set some env vars for osx the depends need to know about
@@ -90,9 +90,9 @@ function prepare() {
90
90
# generate the configure script if it's not there
91
91
92
92
# Build and copy all dependencies in preparation
93
- apothecaryDepend download pkg-config
94
- apothecaryDepend prepare pkg-config
95
- apothecaryDepend build pkg-config
93
+ # apothecaryDepend download pkg-config
94
+ # apothecaryDepend prepare pkg-config
95
+ # apothecaryDepend build pkg-config
96
96
apothecaryDepend copy pkg-config
97
97
apothecaryDepend download zlib
98
98
apothecaryDepend prepare zlib
@@ -138,15 +138,22 @@ function build() {
138
138
139
139
LIBPNG_ROOT=" $LIBS_ROOT /libpng/"
140
140
LIBPNG_INCLUDE_DIR=" $LIBS_ROOT /libpng/include"
141
- LIBPNG_LIBRARY=" $LIBS_ROOT /libpng/lib/$TYPE /$PLATFORM /libpng.lib"
141
+ LIBPNG_LIBRARY=" $LIBS_ROOT /libpng/lib/$TYPE /$PLATFORM /libpng.lib"
142
142
143
143
PIXMAN_ROOT=" $LIBS_ROOT /pixman/"
144
144
PIXMAN_INCLUDE_DIR=" $LIBS_ROOT /pixman/include"
145
145
PIXMAN_LIBRARY=" $LIBS_ROOT /pixman/lib/$TYPE /$PLATFORM /libpixman-1.lib"
146
146
147
147
FREETYPE_ROOT=" $LIBS_ROOT /freetype/"
148
148
FREETYPE_INCLUDE_DIR=" $LIBS_ROOT /freetype/include"
149
- FREETYPE_LIBRARY=" $LIBS_ROOT /freetype/lib/$TYPE /$PLATFORM /libfreetype.lib"
149
+ FREETYPE_LIBRARY=" $LIBS_ROOT /freetype/lib/$TYPE /$PLATFORM /freetype.lib"
150
+ FREETYPE_LIBRARIES=" $LIBS_ROOT /freetype/lib/$TYPE /$PLATFORM /freetype.lib"
151
+
152
+ LIBBROTLI_ROOT=" $LIBS_ROOT /brotli/"
153
+ LIBBROTLI_INCLUDE_DIR=" $LIBS_ROOT /brotli/include"
154
+ LIBBROTLI_LIBRARY=" $LIBS_ROOT /brotli/lib/$TYPE /$PLATFORM /brotlicommon.lib"
155
+ LIBBROTLI_ENC_LIB=" $LIBS_ROOT /brotli/lib/$TYPE /$PLATFORM /brotlienc.lib"
156
+ LIBBROTLI_DEC_LIB=" $LIBS_ROOT /brotli/lib/$TYPE /$PLATFORM /brotlidec.lib"
150
157
151
158
mkdir -p " build_${TYPE} _${ARCH} "
152
159
cd " build_${TYPE} _${ARCH} "
@@ -156,8 +163,9 @@ function build() {
156
163
-DCMAKE_C_STANDARD=17 \
157
164
-DCMAKE_CXX_STANDARD=17 \
158
165
-DCMAKE_CXX_STANDARD_REQUIRED=ON \
159
- -DCMAKE_CXX_EXTENSIONS=OFF
160
- -DBUILD_SHARED_LIBS=ON \
166
+ -DCMAKE_CXX_EXTENSIONS=OFF \
167
+ -DBUILD_SHARED_LIBS=OFF \
168
+ -DBUILD_STATIC_LIBS=ON \
161
169
-DCMAKE_INSTALL_PREFIX=Release \
162
170
-DCMAKE_INCLUDE_OUTPUT_DIRECTORY=include \
163
171
-DCMAKE_INSTALL_INCLUDEDIR=include \
@@ -173,17 +181,25 @@ function build() {
173
181
-DPNG_LIBRARY=${LIBPNG_LIBRARY} \
174
182
-DFREETYPE_LIBRARY=${FREETYPE_LIBRARY} \
175
183
-DFREETYPE_INCLUDE_DIR=${FREETYPE_INCLUDE_DIR} \
176
- -DFREETYPE_CFLAGS=-I${FREETYPE_ROOT} /freetype2 \
184
+ -DFREETYPE_INCLUDE_DIRS=${FREETYPE_INCLUDE_DIR} \
185
+ -DFREETYPE_INCLUDE_DIR_ft2build=${FREETYPE_INCLUDE_DIR} \
186
+ -DFREETYPE_INCLUDE_DIR_freetype2=" ${FREETYPE_INCLUDE_DIR} /freetype" \
187
+ -DFREETYPE_CFLAGS=" -I${FREETYPE_INCLUDE_DIR} " \
177
188
-DFREETYPE_LIBS=${FREETYPE_LIBRARY} \
178
189
-DBUILD_GTK_DOC=OFF -DBUILD_TESTS=OFF -DBUILD_DEPENDENCY_TRACKING=OFF -DBUILD_XLIB=OFF -DBUILD_QT=OFF -DBUILD_QUARTZ_FONT=OFF -DBUILD_QUARTZ=OFF -DBUILD_QUARTZ_IMAGE=OFF"
179
-
180
190
cmake .. ${DEFS} \
181
191
-A " ${PLATFORM} " \
182
192
-G " ${GENERATOR_NAME} " \
193
+ -DBROTLI_ROOT=${LIBBROTLI_ROOT} \
194
+ -DBROTLIDEC_INCLUDE_DIRS=" ${LIBBROTLI_INCLUDE_DIR} " \
195
+ -DBROTLI_INCLUDE_DIR=" ${LIBBROTLI_INCLUDE_DIR} " \
196
+ -DBROTLIDEC_LIBRARIES=" ${LIBBROTLI_LIBRARY} ;${LIBBROTLI_DEC_LIB} ;${LIBBROTLI_ENC_LIB} " \
197
+ -DCMAKE_INCLUDE_PATH=" ${LIBBROTLI_INCLUDE_DIR} ;${FREETYPE_INCLUDE_DIR} ;${LIBPNG_INCLUDE_DIR} ;${ZLIB_INCLUDE_DIR} ;${PIXMAN_INCLUDE_DIR} " \
198
+ -DCMAKE_LIBRARY_PATH=" ${LIBBROTLI_LIBRARY} ;${LIBBROTLI_DEC_LIB} ;${LIBBROTLI_ENC_LIB} ;${FREETYPE_LIBRARY} ;${LIBPNG_LIBRARY} ;${ZLIB_LIBRARY} ;${PIXMAN_LIBRARY} " \
183
199
-DCMAKE_INSTALL_PREFIX=Release \
184
200
-D CMAKE_VERBOSE_MAKEFILE=ON \
185
- -D BUILD_SHARED_LIBS=OFF \
186
201
-D CAIRO_WIN32_STATIC_BUILD=ON \
202
+ -DNO_FONTCONFIG=OFF \
187
203
-DCMAKE_CXX_FLAGS_RELEASE=" -DUSE_PTHREADS=1 ${VS_C_FLAGS} ${FLAGS_RELEASE} ${EXCEPTION_FLAGS} " \
188
204
-DCMAKE_C_FLAGS_RELEASE=" -DUSE_PTHREADS=1 ${VS_C_FLAGS} ${FLAGS_RELEASE} ${EXCEPTION_FLAGS} " \
189
205
-DCMAKE_PREFIX_PATH=" ${LIBS_ROOT} " \
@@ -215,16 +231,21 @@ function build() {
215
231
FREETYPE_INCLUDE_DIR=" $LIBS_ROOT /freetype/include"
216
232
FREETYPE_LIBRARY=" $LIBS_ROOT /freetype/lib/$TYPE /$PLATFORM /libfreetype.a"
217
233
234
+ LIBBROTLI_ROOT=" $LIBS_ROOT /brotli/"
235
+ LIBBROTLI_INCLUDE_DIR=" $LIBS_ROOT /brotli/include"
236
+ LIBBROTLI_LIBRARY=" $LIBS_ROOT /brotli/lib/$TYPE /$PLATFORM /libbrotlicommon.a"
237
+ LIBBROTLI_ENC_LIB=" $LIBS_ROOT /brotli/lib/$TYPE /$PLATFORM /libbrotlienc.a"
238
+ LIBBROTLI_DEC_LIB=" $LIBS_ROOT /brotli/lib/$TYPE /$PLATFORM /libbrotlidec.a"
239
+
218
240
mkdir -p " build_${TYPE} _${PLATFORM} "
219
241
cd " build_${TYPE} _${PLATFORM} "
220
- rm -f CMakeCache.txt * .a * .o
242
+ rm -f CMakeCache.txt * .a * .o
221
243
DEFS="
222
244
-DCMAKE_BUILD_TYPE=Release \
223
245
-DCMAKE_C_STANDARD=17 \
224
246
-DCMAKE_CXX_STANDARD=17 \
225
247
-DCMAKE_CXX_STANDARD_REQUIRED=ON \
226
248
-DCMAKE_CXX_EXTENSIONS=OFF
227
- -DBUILD_SHARED_LIBS=ON \
228
249
-DCMAKE_CXX_FLAGS=" -DUSE_PTHREADS=1" \
229
250
-DCMAKE_C_FLAGS=" -DUSE_PTHREADS=1" \
230
251
-DCMAKE_INSTALL_PREFIX=Release \
@@ -242,15 +263,23 @@ function build() {
242
263
-DPNG_LIBRARY=${LIBPNG_LIBRARY} \
243
264
-DFREETYPE_LIBRARY=${FREETYPE_LIBRARY} \
244
265
-DFREETYPE_INCLUDE_DIR=${FREETYPE_INCLUDE_DIR} \
245
- -DFREETYPE_CFLAGS=-I${FREETYPE_ROOT} /freetype2 \
266
+ -DFREETYPE_INCLUDE_DIRS=${FREETYPE_INCLUDE_DIR} \
267
+ -DFREETYPE_CFLAGS=-I${FREETYPE_INCLUDE_DIR} /freetype \
246
268
-DFREETYPE_LIBS=${FREETYPE_LIBRARY} \
247
269
-DBUILD_GTK_DOC=OFF -DNO_BUILD_TESTS=ON -DNO_DEPENDENCY_TRACKING=ON -DBUILD_XLIB=OFF -DNO_QT=ON -DBUILD_SHARED_LIBS=OFF -DNO_QUARTZ_FONT=OFF -DNO_QUARTZ=OFF -DNO_QUARTZ_IMAGE=OFF"
248
-
270
+
249
271
cmake .. ${DEFS} \
250
272
-DCMAKE_TOOLCHAIN_FILE=$APOTHECARY_DIR /toolchains/ios.toolchain.cmake \
251
273
-DPLATFORM=$PLATFORM \
274
+ -DBROTLIDEC_INCLUDE_DIRS=" ${LIBBROTLI_INCLUDE_DIR} " \
275
+ -DBROTLI_INCLUDE_DIR=" ${LIBBROTLI_INCLUDE_DIR} " \
276
+ -DBROTLIDEC_LIBRARIES=" ${LIBBROTLI_LIBRARY} ;${LIBBROTLI_DEC_LIB} ;${LIBBROTLI_ENC_LIB} " \
277
+ -DCMAKE_INCLUDE_PATH=" ${LIBBROTLI_INCLUDE_DIR} ;${FREETYPE_INCLUDE_DIR} ;${LIBPNG_INCLUDE_DIR} ;${ZLIB_INCLUDE_DIR} ;${PIXMAN_INCLUDE_DIR} " \
278
+ -DCMAKE_LIBRARY_PATH=" ${LIBBROTLI_LIBRARY} ;${LIBBROTLI_DEC_LIB} ;${LIBBROTLI_ENC_LIB} ;${FREETYPE_LIBRARY} ;${LIBPNG_LIBRARY} ;${ZLIB_LIBRARY} ;${PIXMAN_LIBRARY} " \
252
279
-DENABLE_BITCODE=OFF \
253
280
-DENABLE_ARC=OFF \
281
+ -DBUILD_SHARED_LIBS=OFF \
282
+ -DBUILD_STATIC_LIBS=ON \
254
283
-DENABLE_VISIBILITY=OFF \
255
284
-DDEPLOYMENT_TARGET=${MIN_SDK_VER} \
256
285
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \
@@ -259,10 +288,7 @@ function build() {
259
288
-D CMAKE_VERBOSE_MAKEFILE=ON
260
289
cmake --build . --config Release
261
290
cmake --install . --config Release
262
-
263
291
cd ..
264
-
265
-
266
292
else
267
293
./configure PKG_CONFIG=" $BUILD_ROOT_DIR /bin/pkg-config" \
268
294
PKG_CONFIG_PATH=" $BUILD_ROOT_DIR /lib/pkgconfig" \
0 commit comments