Skip to content

Commit a8caac4

Browse files
authored
Cairo / Pixman / FreeType and Brotli (#374)
* SVGTiny - VS added Debug / Release variants - Fixed Cmakelists to include libxml2 bindings properly LibXML2 - VS added Debug / Release variants * fmt - fix utf8 cmakelists vs * macOS Targets Pass Min value for Cmake Toolchain consistency * export variable * Apothecary fixes for Optimisation flags MSVC * Apothecary Fix macOS min SDK * FreeType / Brotli / Zlib fixes * FreeType * downloader wget2 changes from @dimitre * Brotli * Brotli fix macOS dec * Brotli no install cmake macOS * Brotli install mac * Brotli cmake * Brotli fix * Brotli Include * FreeType emscripten * FreeType emscripten disable extras * Pixman [0.40.0->0.43.0] Fixes for macOS compiling, had some breaks with new xcode locally * osx build script * macOS Cairo Fixes - Brotli / FreeType * FreeType bzip vs * FreeType VS fixes cmake * Cairo Brotli * Apothecary Cairo / FreeType Fixes - Optimised CmakeLists. Builds only Static now. - Fixed missing libraries - Fixed formulae for vs/macos * Apothecary Cairo / FreeType Fixes
1 parent d708dc0 commit a8caac4

File tree

6 files changed

+128
-72
lines changed

6 files changed

+128
-72
lines changed

apothecary/formulas/_depends/pkg-config.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ GIT_URL=http://anongit.freedesktop.org/git/pkg-config.git
1111
GIT_TAG=pkg-config-$VER
1212
URL="https://pkgconfig.freedesktop.org/releases"
1313

14-
FORMULA_TYPES=( "osx" )
14+
FORMULA_TYPES=( )
1515

1616
# download the source code and unpack it into LIB_NAME
1717
function download() {

apothecary/formulas/cairo/CMakeLists.txt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,13 @@ else()
3838
endif()
3939

4040
if(FREETYPE_FOUND)
41-
find_package(BZip2)
41+
#find_package(BZip2)
42+
find_package(BrotliDec)
4243
include_directories(${FREETYPE_INCLUDE_DIRS})
43-
include_directories(${BZIP2_INCLUDE_DIR})
44-
list(APPEND CAIRO_LIBS ${FREETYPE_LIBRARIES} ${BZIP2_LIBRARIES})
44+
include_directories(${BROTLIDEC_INCLUDE_DIRS})
45+
#include_directories(${BZIP2_INCLUDE_DIR})
46+
list(APPEND CAIRO_LIBS ${FREETYPE_LIBRARIES} ${BROTLIDEC_LIBRARIES})
47+
# ${BZIP2_LIBRARIES}
4548
endif()
4649

4750
# Use options to disable features

apothecary/formulas/cairo/Configure_config.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ if(WIN32)
1717
endif(WIN32)
1818

1919
if(FREETYPE_FOUND)
20-
set( CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${FREETYPE_LIBRARIES} )
21-
set( CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${FREETYPE_INCLUDE_DIR} )
20+
set( CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${FREETYPE_LIBRARIES} ${BROTLIDEC_LIBRARIES} )
21+
set( CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${FREETYPE_INCLUDE_DIR} ${BROTLIDEC_INCLUDE_DIRS})
2222
endif()
2323

2424
if(PIXMAN_FOUND)

apothecary/formulas/cairo/cairo.sh

Lines changed: 44 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
FORMULA_TYPES=( "osx" "vs" )
1616

17-
FORMULA_DEPENDS=( "pkg-config" "zlib" "libpng" "pixman" "freetype" )
17+
FORMULA_DEPENDS=( "zlib" "libpng" "pixman" "freetype" )
1818

1919
# tell apothecary we want to manually call the dependency commands
2020
# as we set some env vars for osx the depends need to know about
@@ -90,9 +90,9 @@ function prepare() {
9090
# generate the configure script if it's not there
9191

9292
# 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
9696
apothecaryDepend copy pkg-config
9797
apothecaryDepend download zlib
9898
apothecaryDepend prepare zlib
@@ -138,15 +138,22 @@ function build() {
138138

139139
LIBPNG_ROOT="$LIBS_ROOT/libpng/"
140140
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"
142142

143143
PIXMAN_ROOT="$LIBS_ROOT/pixman/"
144144
PIXMAN_INCLUDE_DIR="$LIBS_ROOT/pixman/include"
145145
PIXMAN_LIBRARY="$LIBS_ROOT/pixman/lib/$TYPE/$PLATFORM/libpixman-1.lib"
146146

147147
FREETYPE_ROOT="$LIBS_ROOT/freetype/"
148148
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"
150157

151158
mkdir -p "build_${TYPE}_${ARCH}"
152159
cd "build_${TYPE}_${ARCH}"
@@ -156,8 +163,9 @@ function build() {
156163
-DCMAKE_C_STANDARD=17 \
157164
-DCMAKE_CXX_STANDARD=17 \
158165
-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 \
161169
-DCMAKE_INSTALL_PREFIX=Release \
162170
-DCMAKE_INCLUDE_OUTPUT_DIRECTORY=include \
163171
-DCMAKE_INSTALL_INCLUDEDIR=include \
@@ -173,17 +181,25 @@ function build() {
173181
-DPNG_LIBRARY=${LIBPNG_LIBRARY} \
174182
-DFREETYPE_LIBRARY=${FREETYPE_LIBRARY} \
175183
-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}" \
177188
-DFREETYPE_LIBS=${FREETYPE_LIBRARY} \
178189
-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-
180190
cmake .. ${DEFS} \
181191
-A "${PLATFORM}" \
182192
-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}" \
183199
-DCMAKE_INSTALL_PREFIX=Release \
184200
-D CMAKE_VERBOSE_MAKEFILE=ON \
185-
-D BUILD_SHARED_LIBS=OFF \
186201
-D CAIRO_WIN32_STATIC_BUILD=ON \
202+
-DNO_FONTCONFIG=OFF \
187203
-DCMAKE_CXX_FLAGS_RELEASE="-DUSE_PTHREADS=1 ${VS_C_FLAGS} ${FLAGS_RELEASE} ${EXCEPTION_FLAGS}" \
188204
-DCMAKE_C_FLAGS_RELEASE="-DUSE_PTHREADS=1 ${VS_C_FLAGS} ${FLAGS_RELEASE} ${EXCEPTION_FLAGS}" \
189205
-DCMAKE_PREFIX_PATH="${LIBS_ROOT}" \
@@ -215,16 +231,21 @@ function build() {
215231
FREETYPE_INCLUDE_DIR="$LIBS_ROOT/freetype/include"
216232
FREETYPE_LIBRARY="$LIBS_ROOT/freetype/lib/$TYPE/$PLATFORM/libfreetype.a"
217233

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+
218240
mkdir -p "build_${TYPE}_${PLATFORM}"
219241
cd "build_${TYPE}_${PLATFORM}"
220-
rm -f CMakeCache.txt *.a *.o
242+
rm -f CMakeCache.txt *.a *.o
221243
DEFS="
222244
-DCMAKE_BUILD_TYPE=Release \
223245
-DCMAKE_C_STANDARD=17 \
224246
-DCMAKE_CXX_STANDARD=17 \
225247
-DCMAKE_CXX_STANDARD_REQUIRED=ON \
226248
-DCMAKE_CXX_EXTENSIONS=OFF
227-
-DBUILD_SHARED_LIBS=ON \
228249
-DCMAKE_CXX_FLAGS="-DUSE_PTHREADS=1" \
229250
-DCMAKE_C_FLAGS="-DUSE_PTHREADS=1" \
230251
-DCMAKE_INSTALL_PREFIX=Release \
@@ -242,15 +263,23 @@ function build() {
242263
-DPNG_LIBRARY=${LIBPNG_LIBRARY} \
243264
-DFREETYPE_LIBRARY=${FREETYPE_LIBRARY} \
244265
-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 \
246268
-DFREETYPE_LIBS=${FREETYPE_LIBRARY} \
247269
-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+
249271
cmake .. ${DEFS} \
250272
-DCMAKE_TOOLCHAIN_FILE=$APOTHECARY_DIR/toolchains/ios.toolchain.cmake \
251273
-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}" \
252279
-DENABLE_BITCODE=OFF \
253280
-DENABLE_ARC=OFF \
281+
-DBUILD_SHARED_LIBS=OFF \
282+
-DBUILD_STATIC_LIBS=ON \
254283
-DENABLE_VISIBILITY=OFF \
255284
-DDEPLOYMENT_TARGET=${MIN_SDK_VER} \
256285
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \
@@ -259,10 +288,7 @@ function build() {
259288
-D CMAKE_VERBOSE_MAKEFILE=ON
260289
cmake --build . --config Release
261290
cmake --install . --config Release
262-
263291
cd ..
264-
265-
266292
else
267293
./configure PKG_CONFIG="$BUILD_ROOT_DIR/bin/pkg-config" \
268294
PKG_CONFIG_PATH="$BUILD_ROOT_DIR/lib/pkgconfig" \

apothecary/formulas/cairo/src/CMakeLists.txt

Lines changed: 42 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -745,38 +745,51 @@ endif()
745745

746746
set(SOURCES ${enabled_cairo_sources})
747747

748-
add_library(cairo SHARED ${SOURCES})
749-
target_link_libraries(cairo ${CAIRO_LIBS})
750-
748+
if(BUILD_SHARED_LIBS)
749+
add_library(cairo SHARED ${SOURCES})
750+
target_link_libraries(cairo ${CAIRO_LIBS})
751+
endif()
751752

752-
add_library(cairo-static ${SOURCES} ${STATIC_SOURCES})
753-
target_link_libraries(cairo-static ${CAIRO_LIBS})
753+
if(BUILD_STATIC_LIBS)
754+
add_library(cairo-static ${SOURCES} ${STATIC_SOURCES})
755+
target_link_libraries(cairo-static ${CAIRO_LIBS})
756+
endif()
754757

755758
if(APPLE)
756-
find_library(IMAGEIO_FRAMEWORK ImageIO)
757-
find_library(CORE_GRAPHICS_FRAMEWORK CoreGraphics)
758-
find_library(CORE_FOUNDATION_FRAMEWORK CoreFoundation)
759-
find_library(QUARTZ_CORE_FRAMEWORK QuartzCore)
760-
find_library(CORE_TEXT_FRAMEWORK CoreText)
761-
target_link_libraries(cairo
762-
${CORE_GRAPHICS_FRAMEWORK}
763-
${CORE_FOUNDATION_FRAMEWORK}
764-
${QUARTZ_CORE_FRAMEWORK}
765-
${IMAGEIO_FRAMEWORK}
766-
${CORE_TEXT_FRAMEWORK}
767-
)
768-
target_link_libraries(cairo-static
769-
${CORE_GRAPHICS_FRAMEWORK}
770-
${CORE_FOUNDATION_FRAMEWORK}
771-
${QUARTZ_CORE_FRAMEWORK}
772-
${IMAGEIO_FRAMEWORK}
773-
${CORE_TEXT_FRAMEWORK}
774-
)
775-
776-
endif()
777-
778-
install(TARGETS cairo RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
779-
install(TARGETS cairo-static RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
759+
find_library(IMAGEIO_FRAMEWORK ImageIO)
760+
find_library(CORE_GRAPHICS_FRAMEWORK CoreGraphics)
761+
find_library(CORE_FOUNDATION_FRAMEWORK CoreFoundation)
762+
find_library(QUARTZ_CORE_FRAMEWORK QuartzCore)
763+
find_library(CORE_TEXT_FRAMEWORK CoreText)
764+
765+
if(BUILD_SHARED_LIBS)
766+
target_link_libraries(cairo
767+
${CORE_GRAPHICS_FRAMEWORK}
768+
${CORE_FOUNDATION_FRAMEWORK}
769+
${QUARTZ_CORE_FRAMEWORK}
770+
${IMAGEIO_FRAMEWORK}
771+
${CORE_TEXT_FRAMEWORK}
772+
)
773+
endif()
774+
775+
if(BUILD_STATIC_LIBS)
776+
target_link_libraries(cairo-static
777+
${CORE_GRAPHICS_FRAMEWORK}
778+
${CORE_FOUNDATION_FRAMEWORK}
779+
${QUARTZ_CORE_FRAMEWORK}
780+
${IMAGEIO_FRAMEWORK}
781+
${CORE_TEXT_FRAMEWORK}
782+
)
783+
endif()
784+
endif()
785+
786+
if(BUILD_SHARED_LIBS)
787+
install(TARGETS cairo RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
788+
endif()
789+
790+
if(BUILD_STATIC_LIBS)
791+
install(TARGETS cairo-static RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
792+
endif()
780793

781794
install(FILES ${enabled_cairo_headers} DESTINATION include/cairo)
782795
install(FILES cairo-version.h DESTINATION include/cairo)

apothecary/formulas/freetype/freetype.sh

Lines changed: 33 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ function build() {
5656
-DCMAKE_CXX_EXTENSIONS=OFF \
5757
-DFT_DISABLE_ZLIB=FALSE \
5858
-DFT_DISABLE_BZIP2=TRUE \
59+
-DFT_REQUIRE_BZIP2=FALSE \
5960
-DFT_DISABLE_HARFBUZZ=TRUE \
6061
-D FT_REQUIRE_ZLIB=TRUE \
61-
-D FT_REQUIRE_BZIP2=FALSE \
6262
-D FT_REQUIRE_HARFBUZZ=FALSE \
6363
-DCMAKE_INCLUDE_OUTPUT_DIRECTORY=include \
6464
-DCMAKE_INSTALL_INCLUDEDIR=include"
@@ -78,9 +78,10 @@ function build() {
7878

7979
LIBBROTLI_ROOT="$LIBS_ROOT/brotli/"
8080
LIBBROTLI_INCLUDE_DIR="$LIBS_ROOT/brotli/include"
81-
LIBBROTLI_LIBRARY="$LIBS_ROOT/brotli/lib/$TYPE/$PLATFORM/brotli.a"
82-
LIBBROTLI_ENC_LIB="$LIBS_ROOT/brotli/lib/$TYPE/$PLATFORM/brotlienc.a"
83-
LIBBROTLI_DEC_LIB="$LIBS_ROOT/brotli/lib/$TYPE/$PLATFORM/brotlidec.a"
81+
82+
LIBBROTLI_LIBRARY="$LIBS_ROOT/brotli/lib/$TYPE/$PLATFORM/libbrotlicommon.a"
83+
LIBBROTLI_ENC_LIB="$LIBS_ROOT/brotli/lib/$TYPE/$PLATFORM/libbrotlienc.a"
84+
LIBBROTLI_DEC_LIB="$LIBS_ROOT/brotli/lib/$TYPE/$PLATFORM/libbrotlidec.a"
8485

8586
BROTLI="
8687
-DFT_REQUIRE_BROTLI=TRUE \
@@ -93,27 +94,33 @@ function build() {
9394
${BROTLI} \
9495
-DFT_DISABLE_PNG=FALSE \
9596
-D FT_REQUIRE_PNG=TRUE \
96-
-DBROTLI_ROOT=${LIBBROTLI_ROOT} \
97-
-DBROTLIDEC_INCLUDE_DIRS=${LIBBROTLI_INCLUDE_DIR} \
98-
-DCMAKE_BUILD_TYPE=Release \
99-
-DZLIB_ROOT=${ZLIB_LIBRARY} \
100-
-DZLIB_LIBRARY=${ZLIB_INCLUDE_DIR} \
101-
-DZLIB_INCLUDE_DIR=${ZLIB_INCLUDE_DIR} \
102-
-DZLIB_INCLUDE_DIRS=${ZLIB_INCLUDE_DIR} \
103-
-DPNG_INCLUDE_DIR=${LIBPNG_INCLUDE_DIR} \
97+
-DZLIB_ROOT=${ZLIB_ROOT} \
98+
-DZLIB_INCLUDE_DIR=${ZLIB_INCLUDE_DIR} \
99+
-DZLIB_INCLUDE_DIRS=${ZLIB_INCLUDE_DIR} \
100+
-DZLIB_LIBRARY=${ZLIB_LIBRARY} \
101+
-DPNG_PNG_INCLUDE_DIR=${LIBPNG_INCLUDE_DIR} \
104102
-DPNG_LIBRARY=${LIBPNG_LIBRARY} \
105103
-DPNG_ROOT=${LIBPNG_ROOT} \
104+
-DBROTLI_ROOT=${LIBBROTLI_ROOT} \
105+
106+
-DBROTLIDEC_INCLUDE_DIRS=${LIBBROTLI_INCLUDE_DIR} \
107+
-DBROTLI_INCLUDE_DIR=${LIBBROTLI_INCLUDE_DIR} \
108+
-DBROTLIDEC_LIBRARIES=${LIBBROTLI_LIBRARY};${LIBBROTLI_DEC_LIB};${LIBBROTLI_ENC_LIB} \
106109
-DCMAKE_C_STANDARD=17 \
107110
-DDEPLOYMENT_TARGET=${MIN_SDK_VER} \
108111
-DCMAKE_CXX_STANDARD=17 \
109112
-DCMAKE_CXX_STANDARD_REQUIRED=ON \
110113
-DCMAKE_CXX_EXTENSIONS=OFF \
111114
-DCMAKE_INSTALL_PREFIX=Release \
112-
-DBUILD_SHARED_LIBS=OFF \
113-
-DENABLE_STATIC=ON"
115+
-DBUILD_SHARED_LIBS=OFF"
114116

115117
cmake .. ${DEFS} \
116118
${EXTRA_DEFS} \
119+
-DFT_DISABLE_BZIP2=TRUE \
120+
-DFT_DISABLE_BZIP2=TRUE \
121+
-DCMAKE_PREFIX_PATH="${LIBS_ROOT}" \
122+
-DCMAKE_INCLUDE_PATH="$LIBBROTLI_INCLUDE_DIR;$LIBPNG_INCLUDE_DIR;$ZLIB_INCLUDE_DIR;" \
123+
-DCMAKE_LIBRARY_PATH="$LIBBROTLI_DEC_LIB;${LIBPNG_LIBRARY};${ZLIB_LIBRARY};" \
117124
-DCMAKE_TOOLCHAIN_FILE=$APOTHECARY_DIR/toolchains/ios.toolchain.cmake \
118125
-DPLATFORM=$PLATFORM \
119126
-DCMAKE_BUILD_TYPE=Release \
@@ -123,7 +130,6 @@ function build() {
123130
-DENABLE_ARC=OFF \
124131
-DENABLE_VISIBILITY=OFF \
125132
-DCMAKE_VERBOSE_MAKEFILE=${VERBOSE_MAKEFILE} \
126-
-DBROTLIDEC_LIBRARIES=${LIBBROTLI_DEC_LIB} \
127133
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE
128134

129135
cmake --build . --config Release --target install
@@ -186,6 +192,8 @@ function build() {
186192
${CMAKE_WIN_SDK} \
187193
-A "${PLATFORM}" \
188194
-G "${GENERATOR_NAME}" \
195+
-DFT_DISABLE_BZIP2=TRUE \
196+
-DFT_REQUIRE_BZIP2=FALSE \
189197
-DCMAKE_BUILD_TYPE=Release \
190198
-DCMAKE_INSTALL_PREFIX=Release \
191199
-UCMAKE_CXX_FLAGS \
@@ -202,9 +210,12 @@ function build() {
202210
-DPNG_LIBRARY=${LIBPNG_LIBRARY} \
203211
-DPNG_ROOT=${LIBPNG_ROOT} \
204212
-DBROTLI_ROOT=${LIBBROTLI_ROOT} \
213+
-DCMAKE_INCLUDE_PATH="$LIBBROTLI_INCLUDE_DIR;$LIBPNG_INCLUDE_DIR;$ZLIB_INCLUDE_DIR;" \
214+
-DCMAKE_LIBRARY_PATH="${LIBBROTLI_LIBRARY};${LIBBROTLI_DEC_LIB};${LIBBROTLI_ENC_LIB};${LIBPNG_LIBRARY};${ZLIB_LIBRARY};" \
205215
-DBROTLIDEC_INCLUDE_DIRS=${LIBBROTLI_INCLUDE_DIR} \
206216
-DBROTLI_INCLUDE_DIR=${LIBBROTLI_INCLUDE_DIR} \
207-
-DBROTLIDEC_LIBRARIES=${LIBBROTLI_DEC_LIB}
217+
-DBROTLI_INCLUDE_DIRS=${LIBBROTLI_INCLUDE_DIR} \
218+
-DBROTLIDEC_LIBRARIES="${LIBBROTLI_LIBRARY};${LIBBROTLI_ENC_LIB};${LIBBROTLI_DEC_LIB}"
208219
cmake --build . --config Release --target install
209220

210221
env CXXFLAGS="-DUSE_PTHREADS=1 ${VS_C_FLAGS} ${FLAGS_DEBUG}"
@@ -230,9 +241,12 @@ function build() {
230241
-DPNG_LIBRARY=${LIBPNG_LIBRARY} \
231242
-DPNG_ROOT=${LIBPNG_ROOT} \
232243
-DBROTLI_ROOT=${LIBBROTLI_ROOT} \
244+
-DCMAKE_INCLUDE_PATH="$LIBBROTLI_INCLUDE_DIR;$LIBPNG_INCLUDE_DIR;$ZLIB_INCLUDE_DIR;" \
245+
-DCMAKE_LIBRARY_PATH="${LIBBROTLI_LIBRARY};${LIBBROTLI_DEC_LIB};${LIBBROTLI_ENC_LIB};${LIBPNG_LIBRARY};${ZLIB_LIBRARY};" \
233246
-DBROTLIDEC_INCLUDE_DIRS=${LIBBROTLI_INCLUDE_DIR} \
234247
-DBROTLI_INCLUDE_DIR=${LIBBROTLI_INCLUDE_DIR} \
235-
-DBROTLIDEC_LIBRARIES=${LIBBROTLI_DEC_LIB}
248+
-DBROTLI_INCLUDE_DIRS=${LIBBROTLI_INCLUDE_DIR} \
249+
-DBROTLIDEC_LIBRARIES="${LIBBROTLI_LIBRARY};${LIBBROTLI_ENC_LIB};${LIBBROTLI_DEC_LIB}"
236250
cmake --build . --config Debug --target install
237251
cd ..
238252

@@ -415,7 +429,7 @@ function copy() {
415429
mkdir -p $1/include/freetype/
416430

417431
# copy files from the build root
418-
cp -R include/* $1/include/freetype/
432+
cp -R include/* $1/include/
419433

420434
mkdir -p $1/lib/$TYPE
421435
if [[ "$TYPE" =~ ^(osx|ios|tvos|xros|catos|watchos)$ ]]; then
@@ -426,7 +440,7 @@ function copy() {
426440
secure $1/lib/$TYPE/$PLATFORM/libfreetype.a
427441
elif [ "$TYPE" == "vs" ] ; then
428442
mkdir -p $1/lib/$TYPE/$PLATFORM/
429-
cp -RT "build_${TYPE}_${ARCH}/Release/include" $1/include
443+
cp -Rv "build_${TYPE}_${ARCH}/include/" $1/
430444
cp -v "build_${TYPE}_${ARCH}/lib/"*.lib $1/lib/$TYPE/$PLATFORM/
431445
. "$SECURE_SCRIPT"
432446
secure $1/lib/$TYPE/$PLATFORM/libfreetype.lib

0 commit comments

Comments
 (0)