From f38d4588e5a2f28484b4928e85fa939f2e7bc295 Mon Sep 17 00:00:00 2001 From: Zach Lewis Date: Mon, 4 Nov 2024 12:24:17 -0500 Subject: [PATCH] build: disable PNG support in Freetype for MacOS / Arm64 Freetype seems to be having trouble linking PNG on MacOS when CMAKE_OSX_ARCHITECTURES = arm64. Signed-off-by: Zach Lewis --- src/cmake/build_Freetype.cmake | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/cmake/build_Freetype.cmake b/src/cmake/build_Freetype.cmake index ff70e7f18f..addf6aae15 100644 --- a/src/cmake/build_Freetype.cmake +++ b/src/cmake/build_Freetype.cmake @@ -17,15 +17,24 @@ set_cache (Freetype_BUILD_SHARED_LIBS OFF string (MAKE_C_IDENTIFIER ${Freetype_BUILD_VERSION} Freetype_VERSION_IDENT) +set( CMAKE_ARGS + -D BUILD_SHARED_LIBS=${Freetype_BUILD_SHARED_LIBS} + -D CMAKE_POSITION_INDEPENDENT_CODE=ON + -D CMAKE_INSTALL_LIBDIR=lib +) + +# Conditionally disable support for PNG-compressed OpenType embedded bitmaps on Apple Silicon +# https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4423#issuecomment-2455034286 +if ( APPLE AND ( CMAKE_SYSTEM_PROCESSOR MATCHES "arm64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64" ) ) + list( APPEND CMAKE_ARGS -D FT_DISABLE_PNG=ON ) +endif () + build_dependency_with_cmake(Freetype VERSION ${Freetype_BUILD_VERSION} GIT_REPOSITORY ${Freetype_GIT_REPOSITORY} GIT_TAG ${Freetype_GIT_TAG} - CMAKE_ARGS - -D BUILD_SHARED_LIBS=${Freetype_BUILD_SHARED_LIBS} - -D CMAKE_POSITION_INDEPENDENT_CODE=ON - -D CMAKE_INSTALL_LIBDIR=lib - ) + CMAKE_ARGS ${CMAKE_ARGS} +) # Set some things up that we'll need for a subsequent find_package to work