aboutsummaryrefslogtreecommitdiff
path: root/ports/libmysql
diff options
context:
space:
mode:
authorAlexander Saprykin <xelfium@gmail.com>2018-05-26 13:27:14 +0200
committerGitHub <noreply@github.com>2018-05-26 13:27:14 +0200
commit4ce5f064282c3a8d8d710aa82af7aa346b0c6dd5 (patch)
treed95c9490352eb73f078d34a33bc4bb44ac9fa48b /ports/libmysql
parentfb689bd13dd6ba563a885d71fff1dd2b32a615db (diff)
parent2ac7527b40b1dbeb7856b9f763362c1e139e2ca9 (diff)
downloadvcpkg-4ce5f064282c3a8d8d710aa82af7aa346b0c6dd5.tar.gz
vcpkg-4ce5f064282c3a8d8d710aa82af7aa346b0c6dd5.zip
Merge pull request #1 from Microsoft/master
Update vcpkg from upstream
Diffstat (limited to 'ports/libmysql')
-rw-r--r--ports/libmysql/CONTROL7
-rw-r--r--ports/libmysql/boost_and_build.patch44
-rw-r--r--ports/libmysql/ignore-boost-version.patch13
-rw-r--r--ports/libmysql/portfile.cmake205
-rw-r--r--ports/libmysql/system-libs.patch150
5 files changed, 285 insertions, 134 deletions
diff --git a/ports/libmysql/CONTROL b/ports/libmysql/CONTROL
index 906249936..6f856c607 100644
--- a/ports/libmysql/CONTROL
+++ b/ports/libmysql/CONTROL
@@ -1,3 +1,4 @@
-Source: libmysql
-Version: 5.7.17-1
-Description: A MySQL client library for C development. \ No newline at end of file
+Source: libmysql
+Version: 8.0.4-2
+Build-Depends: boost-algorithm, boost-geometry, boost-optional, boost-functional, boost-graph, openssl, icu, libevent, liblzma, lz4, zlib
+Description: A MySQL client library for C development.
diff --git a/ports/libmysql/boost_and_build.patch b/ports/libmysql/boost_and_build.patch
deleted file mode 100644
index 7fce8ffc5..000000000
--- a/ports/libmysql/boost_and_build.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 44842d3..e34ab24 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -452,7 +452,7 @@ ELSE()
- SET(DEFAULT_TMPDIR "\"${TMPDIR}\"")
- ENDIF()
-
--INCLUDE(cmake/boost.cmake)
-+#INCLUDE(cmake/boost.cmake)
-
- IF (CMAKE_SYSTEM_NAME MATCHES "Linux")
- OPTION(WITH_SYSTEMD "Enable installation of systemd support files" OFF)
-diff --git a/client/dump/CMakeLists.txt b/client/dump/CMakeLists.txt
-index bae2ce7..4e11516 100644
---- a/client/dump/CMakeLists.txt
-+++ b/client/dump/CMakeLists.txt
-@@ -21,12 +21,12 @@ INCLUDE_DIRECTORIES(
- ${CMAKE_SOURCE_DIR}/dump
- )
-
--IF (CMAKE_CXX_COMPILER_ID STREQUAL "SunPro")
-+#IF (CMAKE_CXX_COMPILER_ID STREQUAL "SunPro")
- IF (WITHOUT_SERVER)
- MESSAGE(STATUS "Not building mysqlpump")
- RETURN()
- ENDIF()
--ENDIF()
-+#ENDIF()
-
- # Prevent Boost from including external precompiled Boost libraries, use
- # threading (not implemented for older Solaris Studio compilers)
-diff --git a/mysys/mysys_priv.h b/mysys/mysys_priv.h
-index 8b7a554..4353037 100644
---- a/mysys/mysys_priv.h
-+++ b/mysys/mysys_priv.h
-@@ -18,6 +18,7 @@
-
- #include "my_global.h"
- #include "mysql/psi/mysql_thread.h"
-+#include "my_sys.h"
-
- #ifdef HAVE_PSI_INTERFACE
-
diff --git a/ports/libmysql/ignore-boost-version.patch b/ports/libmysql/ignore-boost-version.patch
new file mode 100644
index 000000000..ea7111ded
--- /dev/null
+++ b/ports/libmysql/ignore-boost-version.patch
@@ -0,0 +1,13 @@
+diff --git a/cmake/boost.cmake b/cmake/boost.cmake
+index 2851181..8788322 100644
+--- a/cmake/boost.cmake
++++ b/cmake/boost.cmake
+@@ -280,7 +280,7 @@ IF(NOT BOOST_MAJOR_VERSION EQUAL 10)
+ COULD_NOT_FIND_BOOST()
+ ENDIF()
+
+-IF(NOT BOOST_MINOR_VERSION EQUAL 65)
++IF(NOT BOOST_MINOR_VERSION EQUAL 65 AND NOT IGNORE_BOOST_VERSION)
+ MESSAGE(WARNING "Boost minor version found is ${BOOST_MINOR_VERSION} "
+ "we need 65"
+ )
diff --git a/ports/libmysql/portfile.cmake b/ports/libmysql/portfile.cmake
index 530732b71..0e7b69edf 100644
--- a/ports/libmysql/portfile.cmake
+++ b/ports/libmysql/portfile.cmake
@@ -1,87 +1,118 @@
-if (EXISTS "${CURRENT_INSTALLED_DIR}/include/mysql/mysql.h")
- message(FATAL_ERROR "FATAL ERROR: libmysql and libmariadb are incompatible.")
-endif()
-
-include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mysql-server-mysql-5.7.17)
-
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/mysql/mysql-server/archive/mysql-5.7.17.tar.gz"
- FILENAME "mysql-server-mysql-5.7.17.tar.gz"
- SHA512 511027f28f0705f59a08ec369b1ebe5d9a77eb839d545898631f1ebbcb6b4b800f5b88511d3ae5d231c04e09a2d7b2b2d178264d36aeb2bc602cc1b0b248cfba
-)
-vcpkg_extract_source_archive(${ARCHIVE})
-
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/boost_and_build.patch
-)
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- OPTIONS
- -DWITHOUT_SERVER=ON
- -DWITH_UNIT_TESTS=OFF
- -DENABLED_PROFILING=OFF
- -DWIX_DIR=OFF
-)
-
-vcpkg_install_cmake()
-
-# delete debug headers
-file(REMOVE_RECURSE
- ${CURRENT_PACKAGES_DIR}/debug/include)
-
-# switch mysql into /mysql
-file(RENAME ${CURRENT_PACKAGES_DIR}/include ${CURRENT_PACKAGES_DIR}/include2)
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include)
-file(RENAME ${CURRENT_PACKAGES_DIR}/include2 ${CURRENT_PACKAGES_DIR}/include/mysql)
-
-## delete useless vcruntime/scripts/bin/msg file
-file(REMOVE_RECURSE
- ${CURRENT_PACKAGES_DIR}/share
- ${CURRENT_PACKAGES_DIR}/debug/share
- ${CURRENT_PACKAGES_DIR}/bin
- ${CURRENT_PACKAGES_DIR}/debug/bin
- ${CURRENT_PACKAGES_DIR}/docs
- ${CURRENT_PACKAGES_DIR}/debug/docs
- ${CURRENT_PACKAGES_DIR}/lib/debug)
-
-# remove misc files
-file(REMOVE
- ${CURRENT_PACKAGES_DIR}/COPYING
- ${CURRENT_PACKAGES_DIR}/README
- ${CURRENT_PACKAGES_DIR}/debug/COPYING
- ${CURRENT_PACKAGES_DIR}/debug/README)
-
-# remove not-related libs
-file (REMOVE
- ${CURRENT_PACKAGES_DIR}/lib/mysqlservices.lib
- ${CURRENT_PACKAGES_DIR}/debug/lib/mysqlservices.lib)
-
-if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
- file(REMOVE
- ${CURRENT_PACKAGES_DIR}/lib/libmysql.lib
- ${CURRENT_PACKAGES_DIR}/lib/libmysql.dll
- ${CURRENT_PACKAGES_DIR}/lib/libmysql.pdb
- ${CURRENT_PACKAGES_DIR}/debug/lib/libmysql.lib
- ${CURRENT_PACKAGES_DIR}/debug/lib/libmysql.dll
- ${CURRENT_PACKAGES_DIR}/debug/lib/libmysql.pdb)
-else()
- file(REMOVE
- ${CURRENT_PACKAGES_DIR}/lib/mysqlclient.lib
- ${CURRENT_PACKAGES_DIR}/debug/lib/mysqlclient.lib)
-
- # correct the dll directory
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin)
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin)
- file (RENAME ${CURRENT_PACKAGES_DIR}/lib/libmysql.dll ${CURRENT_PACKAGES_DIR}/bin/libmysql.dll)
- file (RENAME ${CURRENT_PACKAGES_DIR}/lib/libmysql.pdb ${CURRENT_PACKAGES_DIR}/bin/libmysql.pdb)
- file (RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libmysql.dll ${CURRENT_PACKAGES_DIR}/debug/bin/libmysql.dll)
- file (RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libmysql.pdb ${CURRENT_PACKAGES_DIR}/debug/bin/libmysql.pdb)
-endif()
-
-# copy license
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmysql)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/libmysql/COPYING ${CURRENT_PACKAGES_DIR}/share/libmysql/copyright) \ No newline at end of file
+if (EXISTS "${CURRENT_INSTALLED_DIR}/include/mysql/mysql.h")
+ message(FATAL_ERROR "FATAL ERROR: libmysql and libmariadb are incompatible.")
+endif()
+
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message(FATAL_ERROR "libmysql cannot currently be cross-compiled for UWP")
+endif()
+
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" AND NOT CMAKE_SYSTEM_NAME OR CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message(FATAL_ERROR "Oracle has dropped support in libmysql for 32-bit Windows.")
+endif()
+
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO mysql/mysql-server
+ REF mysql-8.0.4
+ SHA512 8d9129e7670e88df14238299052a5fe6d4f3e40bf27ef7a3ca8f4f91fb40507b13463e9bd24435b34e5d06c5d056dfb259fb04e77cc251b188eea734db5642be
+ HEAD_REF master
+)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/ignore-boost-version.patch
+ ${CMAKE_CURRENT_LIST_DIR}/system-libs.patch
+)
+
+file(REMOVE_RECURSE ${SOURCE_PATH}/include/boost_1_65_0)
+
+set(STACK_DIRECTION)
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ set(STACK_DIRECTION -DSTACK_DIRECTION=-1)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DWITHOUT_SERVER=ON
+ -DWITH_UNIT_TESTS=OFF
+ -DENABLED_PROFILING=OFF
+ -DWIX_DIR=OFF
+ -DHAVE_LLVM_LIBCPP_EXITCODE=1
+ ${STACK_DIRECTION}
+ -DWINDOWS_RUNTIME_MD=ON # Note: this disables _replacement_ of /MD with /MT. If /MT is specified, it will be preserved.
+ -DIGNORE_BOOST_VERSION=ON
+ -DWITH_SSL=system
+ -DWITH_ICU=system
+ -DWITH_LIBEVENT=system
+ -DWITH_LZMA=system
+ -DWITH_LZ4=system
+ -DWITH_ZLIB=system
+)
+
+vcpkg_install_cmake(ADD_BIN_TO_PATH)
+
+# delete debug headers
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# switch mysql into /mysql
+file(RENAME ${CURRENT_PACKAGES_DIR}/include ${CURRENT_PACKAGES_DIR}/include2)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include)
+file(RENAME ${CURRENT_PACKAGES_DIR}/include2 ${CURRENT_PACKAGES_DIR}/include/mysql)
+
+## delete useless vcruntime/scripts/bin/msg file
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/share
+ ${CURRENT_PACKAGES_DIR}/debug/share
+ ${CURRENT_PACKAGES_DIR}/bin
+ ${CURRENT_PACKAGES_DIR}/debug/bin
+ ${CURRENT_PACKAGES_DIR}/docs
+ ${CURRENT_PACKAGES_DIR}/debug/docs
+ ${CURRENT_PACKAGES_DIR}/lib/debug)
+
+# remove misc files
+file(REMOVE
+ ${CURRENT_PACKAGES_DIR}/LICENSE
+ ${CURRENT_PACKAGES_DIR}/README
+ ${CURRENT_PACKAGES_DIR}/debug/LICENSE
+ ${CURRENT_PACKAGES_DIR}/debug/README)
+
+# remove not-related libs
+file (REMOVE
+ ${CURRENT_PACKAGES_DIR}/lib/mysqlservices.lib
+ ${CURRENT_PACKAGES_DIR}/debug/lib/mysqlservices.lib)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(REMOVE
+ ${CURRENT_PACKAGES_DIR}/lib/libmysql.lib
+ ${CURRENT_PACKAGES_DIR}/lib/libmysql.dll
+ ${CURRENT_PACKAGES_DIR}/lib/libmysql.pdb
+ ${CURRENT_PACKAGES_DIR}/debug/lib/libmysql.lib
+ ${CURRENT_PACKAGES_DIR}/debug/lib/libmysql.dll
+ ${CURRENT_PACKAGES_DIR}/debug/lib/libmysql.pdb)
+else()
+ file(REMOVE
+ ${CURRENT_PACKAGES_DIR}/lib/mysqlclient.lib
+ ${CURRENT_PACKAGES_DIR}/debug/lib/mysqlclient.lib)
+
+ # correct the dll directory
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file (RENAME ${CURRENT_PACKAGES_DIR}/lib/libmysql.dll ${CURRENT_PACKAGES_DIR}/bin/libmysql.dll)
+ file (RENAME ${CURRENT_PACKAGES_DIR}/lib/libmysql.pdb ${CURRENT_PACKAGES_DIR}/bin/libmysql.pdb)
+ file (RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libmysql.dll ${CURRENT_PACKAGES_DIR}/debug/bin/libmysql.dll)
+ file (RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libmysql.pdb ${CURRENT_PACKAGES_DIR}/debug/bin/libmysql.pdb)
+endif()
+
+file(READ ${CURRENT_PACKAGES_DIR}/include/mysql/mysql_com.h _contents)
+string(REPLACE "#include <mysql/udf_registration_types.h>" "#include \"mysql/udf_registration_types.h\"" _contents "${_contents}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/include/mysql/mysql_com.h "${_contents}")
+
+# copy license
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmysql)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/libmysql/LICENSE ${CURRENT_PACKAGES_DIR}/share/libmysql/copyright) \ No newline at end of file
diff --git a/ports/libmysql/system-libs.patch b/ports/libmysql/system-libs.patch
new file mode 100644
index 000000000..b5c1cba0d
--- /dev/null
+++ b/ports/libmysql/system-libs.patch
@@ -0,0 +1,150 @@
+diff --git a/cmake/icu.cmake b/cmake/icu.cmake
+index ce9cc67..64445c5 100644
+--- a/cmake/icu.cmake
++++ b/cmake/icu.cmake
+@@ -40,49 +40,10 @@ SET(DEFAULT_ICU "bundled")
+ # install_root is either 'system' or is assumed to be a path.
+ #
+ MACRO (FIND_ICU install_root)
+- IF("${install_root}" STREQUAL "system")
+- SET(EXTRA_FIND_LIB_ARGS)
+- SET(EXTRA_FIND_INC_ARGS)
+- ELSE()
+- SET(EXTRA_FIND_LIB_ARGS HINTS "${install_root}"
+- PATH_SUFFIXES "lib" "lib64" NO_DEFAULT_PATH)
+- SET(EXTRA_FIND_INC_ARGS HINTS "${install_root}"
+- PATH_SUFFIXES "include" NO_DEFAULT_PATH)
+- ENDIF()
+-
+- FIND_PATH(ICU_INCLUDE_DIR NAMES unicode/regex.h ${EXTRA_FIND_INC_ARGS})
+- IF (NOT ICU_INCLUDE_DIR)
+- MESSAGE(FATAL_ERROR "Cannot find ICU regular expression headers")
+- ENDIF()
+-
+- IF(WIN32)
+- SET(ICU_LIBS icuuc icuio icudt icuin)
+- ELSE()
+- SET(ICU_LIBS icuuc icuio icudata icui18n)
+- ENDIF()
+-
+- SET(ICU_SYSTEM_LIBRARIES)
+- FOREACH(ICU_LIB ${ICU_LIBS})
+- UNSET(ICU_LIB_PATH CACHE)
+- FIND_LIBRARY(ICU_LIB_PATH NAMES ${ICU_LIB} ${EXTRA_FIND_LIB_ARGS})
+- IF(NOT ICU_LIB_PATH)
+- MESSAGE(FATAL_ERROR "Cannot find the ICU library ${ICU_LIB}")
+- ENDIF()
+- LIST(APPEND ICU_SYSTEM_LIBRARIES ${ICU_LIB_PATH})
+- ENDFOREACH()
+-
+- # To do: If we include the path in ICU_INCLUDE_DIR, it leads to GUnit
+- # picking up the wrong regex.h header. And it looks like we don't need it;
+- # at least on Linux, the header gets installed in an OS path anyway.
+- IF(NOT "${install_root}" STREQUAL "system")
+- SET(ICU_INCLUDE_DIRS ${ICU_INCLUDE_DIR})
+- ENDIF()
+-
+- SET(ICU_LIBRARIES ${ICU_SYSTEM_LIBRARIES})
+-
+- # Needed for version information.
+- SET(ICU_COMMON_DIR ${ICU_INCLUDE_DIR})
+-
++ find_package(ICU REQUIRED COMPONENTS uc io dt in)
++ set(ICU_SYSTEM_LIBRARIES ICU::uc ICU::io ICU::dt ICU::in)
++ set(ICU_COMMON_DIR ${ICU_INCLUDE_DIR})
++ SET(ICU_INCLUDE_DIRS ${ICU_INCLUDE_DIR})
+ ENDMACRO()
+
+ MACRO (MYSQL_USE_BUNDLED_ICU)
+diff --git a/cmake/lz4.cmake b/cmake/lz4.cmake
+index 6e576c3..60cb8ba 100644
+--- a/cmake/lz4.cmake
++++ b/cmake/lz4.cmake
+@@ -25,7 +25,7 @@
+
+ MACRO (FIND_SYSTEM_LZ4)
+ FIND_PATH(PATH_TO_LZ4 NAMES lz4frame.h)
+- FIND_LIBRARY(LZ4_SYSTEM_LIBRARY NAMES lz4)
++ FIND_LIBRARY(LZ4_SYSTEM_LIBRARY NAMES lz4d lz4)
+ IF (PATH_TO_LZ4 AND LZ4_SYSTEM_LIBRARY)
+ SET(SYSTEM_LZ4_FOUND 1)
+ INCLUDE_DIRECTORIES(SYSTEM ${PATH_TO_LZ4})
+diff --git a/cmake/lzma.cmake b/cmake/lzma.cmake
+index ac8aaa7..78d8e8d 100644
+--- a/cmake/lzma.cmake
++++ b/cmake/lzma.cmake
+@@ -24,15 +24,10 @@
+ # bundled is the default
+
+ MACRO (FIND_SYSTEM_LZMA)
+- FIND_PATH(PATH_TO_LZMA NAMES lzma/lzma.h)
+- FIND_LIBRARY(LZMA_SYSTEM_LIBRARY NAMES lzma)
+- IF (PATH_TO_LZMA AND LZMA_SYSTEM_LIBRARY)
+- SET(SYSTEM_LZMA_FOUND 1)
+- SET(LZMA_INCLUDE_DIR ${PATH_TO_LZMA})
+- SET(LZMA_LIBRARY ${LZMA_SYSTEM_LIBRARY})
+- MESSAGE(STATUS "LZMA_INCLUDE_DIR ${LZMA_INCLUDE_DIR}")
+- MESSAGE(STATUS "LZMA_LIBRARY ${LZMA_LIBRARY}")
+- ENDIF()
++ find_package(LibLZMA REQUIRED)
++ set(LZMA_INCLUDE_DIR ${LZMA_INCLUDE_DIRS})
++ set(LZMA_LIBRARY ${LZMA_LIBRARIES})
++ set(SYSTEM_LZMA_FOUND 1)
+ ENDMACRO()
+
+ MACRO (MYSQL_USE_BUNDLED_LZMA)
+diff --git a/cmake/ssl.cmake b/cmake/ssl.cmake
+index 8af9699..2bdfe14 100644
+--- a/cmake/ssl.cmake
++++ b/cmake/ssl.cmake
+@@ -104,6 +104,16 @@ ENDMACRO()
+ # Provides the following configure options:
+ # WITH_SSL=[yes|bundled|system|<path/to/custom/installation>]
+ MACRO (MYSQL_CHECK_SSL)
++ find_package(OpenSSL REQUIRED)
++ set(OPENSSL_LIBRARY ${OPENSSL_SSL_LIBRARY} CACHE STRING "")
++ set(CRYPTO_LIBRARY ${OPENSSL_CRYPTO_LIBRARY} CACHE STRING "")
++ FIND_PROGRAM(OPENSSL_EXECUTABLE openssl
++ DOC "path to the openssl executable")
++ SET(SSL_DEFINES "-DHAVE_OPENSSL")
++ set(SSL_LIBRARIES ${OPENSSL_LIBRARIES})
++ENDMACRO()
++
++MACRO (MYSQL_CHECK_SSL_OLD)
+ IF(NOT WITH_SSL)
+ IF(WIN32)
+ CHANGE_SSL_SETTINGS("bundled")
+diff --git a/cmake/zlib.cmake b/cmake/zlib.cmake
+index e74b8c9..6695075 100644
+--- a/cmake/zlib.cmake
++++ b/cmake/zlib.cmake
+@@ -51,27 +51,7 @@ MACRO (MYSQL_CHECK_ZLIB_WITH_COMPRESS)
+ IF(WITH_ZLIB STREQUAL "bundled")
+ MYSQL_USE_BUNDLED_ZLIB()
+ ELSE()
+- SET(ZLIB_FIND_QUIETLY TRUE)
+- INCLUDE(FindZLIB)
+- IF(ZLIB_FOUND)
+- INCLUDE(CheckFunctionExists)
+- SET(CMAKE_REQUIRED_LIBRARIES z)
+- CHECK_FUNCTION_EXISTS(crc32 HAVE_CRC32)
+- CHECK_FUNCTION_EXISTS(compressBound HAVE_COMPRESSBOUND)
+- CHECK_FUNCTION_EXISTS(deflateBound HAVE_DEFLATEBOUND)
+- SET(CMAKE_REQUIRED_LIBRARIES)
+- IF(HAVE_CRC32 AND HAVE_COMPRESSBOUND AND HAVE_DEFLATEBOUND)
+- SET(ZLIB_LIBRARY ${ZLIB_LIBRARIES} CACHE INTERNAL "System zlib library")
+- SET(WITH_ZLIB "system" CACHE STRING
+- "Which zlib to use (possible values are 'bundled' or 'system')")
+- SET(ZLIB_SOURCES "")
+- ELSE()
+- SET(ZLIB_FOUND FALSE CACHE INTERNAL "Zlib found but not usable")
+- MESSAGE(STATUS "system zlib found but not usable")
+- ENDIF()
+- ENDIF()
+- IF(NOT ZLIB_FOUND)
+- MYSQL_USE_BUNDLED_ZLIB()
+- ENDIF()
++ find_package(ZLIB REQUIRED)
++ SET(ZLIB_LIBRARY ZLIB::ZLIB CACHE INTERNAL "System zlib library")
+ ENDIF()
+ ENDMACRO()