Skip to content

Commit 4eadbdb

Browse files
Andrzej Jarzabekbjornmu
authored andcommitted
Bug#34711762 Upgrade zlib to 1.2.13 [cmake changes]
Bump MIN_ZLIB_VERSION_REQUIRED to "1.2.13" and adjust paths to bundled zlib sources. In extra/zlib/zlib-1.2.13/CMakeLists.txt: - apply cumulative patches from previous zlib upgrade - apply fix to MacOS build (bug #34776172) Change-Id: I1a0aeff115a96a0993f2f396c643eda1c1b4900b
1 parent a97f76d commit 4eadbdb

File tree

3 files changed

+54
-10
lines changed

3 files changed

+54
-10
lines changed

CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1677,7 +1677,6 @@ SET(SYSTEM_LIBRARIES
16771677
LZ4 # Homebrew lz4
16781678
PROTOBUF # Homebrew protobuf
16791679
SSL # Homebrew [email protected]
1680-
# ZLIB # Xcode Min required version is now 1.2.12
16811680
ZSTD # Homebrew zstd
16821681
FIDO # Homebrew libfido2
16831682
)

cmake/zlib.cmake

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,9 @@
2828
# but we need at least version 1.2.11, and that's not available on
2929
# all the platforms we need to support.
3030

31-
# With earier versions, several compression tests fail.
32-
# SET(MIN_ZLIB_VERSION_REQUIRED "1.2.11")
33-
3431
# Security bug fixes required from:
35-
SET(MIN_ZLIB_VERSION_REQUIRED "1.2.12")
32+
SET(MIN_ZLIB_VERSION_REQUIRED "1.2.13")
33+
3634

3735
MACRO(FIND_ZLIB_VERSION)
3836
FOREACH(version_part
@@ -86,7 +84,7 @@ MACRO (RESET_ZLIB_VARIABLES)
8684
UNSET(FIND_PACKAGE_MESSAGE_DETAILS_ZLIB CACHE)
8785
ENDMACRO()
8886

89-
SET(ZLIB_VERSION_DIR "zlib-1.2.12")
87+
SET(ZLIB_VERSION_DIR "zlib-1.2.13")
9088
SET(BUNDLED_ZLIB_PATH ${CMAKE_SOURCE_DIR}/extra/zlib/${ZLIB_VERSION_DIR})
9189

9290
MACRO (MYSQL_USE_BUNDLED_ZLIB)

extra/zlib/zlib-1.2.13/CMakeLists.txt

Lines changed: 51 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,28 @@
1-
cmake_minimum_required(VERSION 2.4.4)
1+
#cmake_minimum_required(VERSION 2.4.4)
22
set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
33

4-
project(zlib C)
5-
64
set(VERSION "1.2.13")
75

6+
IF(POLICY CMP0048)
7+
CMAKE_POLICY(SET CMP0048 NEW)
8+
project(zlib VERSION ${VERSION} LANGUAGES C)
9+
ELSE()
10+
project(zlib C)
11+
ENDIF()
12+
13+
IF(DISABLE_THESE_LINES)
814
set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables")
915
set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries")
1016
set(INSTALL_INC_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Installation directory for headers")
1117
set(INSTALL_MAN_DIR "${CMAKE_INSTALL_PREFIX}/share/man" CACHE PATH "Installation directory for manual pages")
1218
set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_PREFIX}/share/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files")
19+
ENDIF(DISABLE_THESE_LINES)
1320

1421
include(CheckTypeSize)
1522
include(CheckFunctionExists)
1623
include(CheckIncludeFile)
1724
include(CheckCSourceCompiles)
18-
enable_testing()
25+
# enable_testing()
1926

2027
check_include_file(sys/types.h HAVE_SYS_TYPES_H)
2128
check_include_file(stdint.h HAVE_STDINT_H)
@@ -56,6 +63,7 @@ endif()
5663
#
5764
check_include_file(unistd.h Z_HAVE_UNISTD_H)
5865

66+
IF(DISABLE_THESE_LINES)
5967
if(MSVC)
6068
set(CMAKE_DEBUG_POSTFIX "d")
6169
add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
@@ -81,6 +89,15 @@ configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zlib.pc.cmakein
8189
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein
8290
${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY)
8391
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR})
92+
ENDIF(DISABLE_THESE_LINES)
93+
94+
CONFIGURE_FILE(
95+
${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein
96+
${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY
97+
)
98+
INCLUDE_DIRECTORIES(
99+
BEFORE SYSTEM ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}
100+
)
84101

85102

86103
#============================================================================
@@ -131,6 +148,36 @@ file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents)
131148
string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([-0-9A-Za-z.]+)\".*"
132149
"\\1" ZLIB_FULL_VERSION ${_zlib_h_contents})
133150

151+
ADD_CONVENIENCE_LIBRARY(zlib
152+
${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
153+
154+
MY_CHECK_CXX_COMPILER_WARNING("-Wmissing-profile" HAS_MISSING_PROFILE)
155+
IF(HAS_MISSING_PROFILE)
156+
ADD_COMPILE_FLAGS(${ZLIB_SRCS} COMPILE_FLAGS ${HAS_MISSING_PROFILE})
157+
ENDIF()
158+
159+
MY_CHECK_CXX_COMPILER_WARNING("-Wdeprecated-non-prototype"
160+
HAS_DEPRECATED_NON_PROTOTYPE)
161+
IF(HAS_DEPRECATED_NON_PROTOTYPE)
162+
ADD_COMPILE_FLAGS(${ZLIB_SRCS} COMPILE_FLAGS ${HAS_DEPRECATED_NON_PROTOTYPE})
163+
ENDIF()
164+
165+
IF(NOT WIN32)
166+
ADD_COMPILE_FLAGS(${ZLIB_SRCS} COMPILE_FLAGS "-fvisibility=hidden")
167+
ENDIF()
168+
169+
# Xcode >= 14 makes noise about sprintf, and loss of precision
170+
# when assigning integers from 64 bits to 32 bits, so silence:
171+
IF(APPLE)
172+
ADD_COMPILE_FLAGS(${ZLIB_SRCS} COMPILE_FLAGS " -Wno-deprecated-declarations")
173+
ADD_COMPILE_FLAGS(${ZLIB_SRCS} COMPILE_FLAGS " -Wno-shorten-64-to-32")
174+
ENDIF()
175+
176+
RETURN()
177+
178+
# Skip anything below.
179+
################################################################
180+
134181
if(MINGW)
135182
# This gets us DLL resource information when compiling on MinGW.
136183
if(NOT CMAKE_RC_COMPILER)

0 commit comments

Comments
 (0)