From c658c8f1ee625ebb66b5211d3fb6725630a69de4 Mon Sep 17 00:00:00 2001 From: zachlewis Date: Mon, 16 Sep 2024 16:16:03 -0400 Subject: [PATCH] build: Add auto-build recipe for ZLIB (#4420) Required for building redistributable python wheels on Windows Wheels runners. Signed-off-by: Zach Lewis --- src/cmake/build_ZLIB.cmake | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/cmake/build_ZLIB.cmake diff --git a/src/cmake/build_ZLIB.cmake b/src/cmake/build_ZLIB.cmake new file mode 100644 index 0000000000..980fec8fe5 --- /dev/null +++ b/src/cmake/build_ZLIB.cmake @@ -0,0 +1,38 @@ +# Copyright Contributors to the OpenImageIO project. +# SPDX-License-Identifier: Apache-2.0 +# https://github.com/AcademySoftwareFoundation/OpenImageIO + +###################################################################### +# ZLIB by hand! +###################################################################### + +set_cache (ZLIB_BUILD_VERSION 1.3.1 "ZLIB version for local builds") +set (ZLIB_GIT_REPOSITORY "https://github.com/madler/zlib") +set (ZLIB_GIT_TAG "v${ZLIB_BUILD_VERSION}") + +set_cache (ZLIB_BUILD_SHARED_LIBS ${LOCAL_BUILD_SHARED_LIBS_DEFAULT} + DOC "Should execute a local ZLIB build, if necessary, build shared libraries" ADVANCED) + +string (MAKE_C_IDENTIFIER ${ZLIB_BUILD_VERSION} ZLIB_VERSION_IDENT) + +build_dependency_with_cmake(ZLIB + VERSION ${ZLIB_BUILD_VERSION} + GIT_REPOSITORY ${ZLIB_GIT_REPOSITORY} + GIT_TAG ${ZLIB_GIT_TAG} + CMAKE_ARGS + -D BUILD_SHARED_LIBS=${ZLIB_BUILD_SHARED_LIBS} + -D CMAKE_POSITION_INDEPENDENT_CODE=ON + -D CMAKE_INSTALL_LIBDIR=lib + ) + +# Set some things up that we'll need for a subsequent find_package to work +set (ZLIB_ROOT ${ZLIB_LOCAL_INSTALL_DIR}) + +# Signal to caller that we need to find again at the installed location +set (ZLIB_REFIND TRUE) +set (ZLIB_VERSION ${ZLIB_BUILD_VERSION}) +set (ZLIB_REFIND_VERSION ${ZLIB_BUILD_VERSION}) + +if (ZLIB_BUILD_SHARED_LIBS) + install_local_dependency_libs (ZLIB ZLIB) +endif ()