150 lines
5.3 KiB
Diff
150 lines
5.3 KiB
Diff
|
diff --git a/cmake/icu.cmake b/cmake/icu.cmake
|
||
|
index fde3a75..9f694b9 100644
|
||
|
--- a/cmake/icu.cmake
|
||
|
+++ b/cmake/icu.cmake
|
||
|
@@ -38,49 +38,11 @@
|
||
|
# 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/libutils.cmake b/cmake/libutils.cmake
|
||
|
index 3fa58da..88b53e7 100644
|
||
|
--- a/cmake/libutils.cmake
|
||
|
+++ b/cmake/libutils.cmake
|
||
|
@@ -350,12 +350,7 @@ MACRO(MERGE_CONVENIENCE_LIBRARIES)
|
||
|
# On Windows, ssleay32.lib/libeay32.lib or libssl.lib/libcrypto.lib
|
||
|
# must be merged into mysqlclient.lib
|
||
|
IF(WIN32 AND ${TARGET} STREQUAL "mysqlclient")
|
||
|
- SET(LINKER_EXTRA_FLAGS "")
|
||
|
- FOREACH(LIB ${SSL_LIBRARIES})
|
||
|
- STRING_APPEND(LINKER_EXTRA_FLAGS " ${LIB}")
|
||
|
- ENDFOREACH()
|
||
|
- SET_TARGET_PROPERTIES(${TARGET}
|
||
|
- PROPERTIES STATIC_LIBRARY_FLAGS "${LINKER_EXTRA_FLAGS}")
|
||
|
+ TARGET_LINK_LIBRARIES(${TARGET} PRIVATE ${SSL_LIBRARIES})
|
||
|
ENDIF()
|
||
|
|
||
|
IF(OSLIBS)
|
||
|
diff --git a/cmake/lz4.cmake b/cmake/lz4.cmake
|
||
|
index 9aad130..68cbaba 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/ssl.cmake b/cmake/ssl.cmake
|
||
|
index 52feade..1e71bd7 100644
|
||
|
--- a/cmake/ssl.cmake
|
||
|
+++ b/cmake/ssl.cmake
|
||
|
@@ -93,7 +93,20 @@ ENDMACRO()
|
||
|
# Provides the following configure options:
|
||
|
# WITH_SSL=[yes|system|<path/to/custom/installation>]
|
||
|
MACRO (MYSQL_CHECK_SSL)
|
||
|
+ find_package(OpenSSL REQUIRED)
|
||
|
+ set(OPENSSL_LIBRARY OpenSSL::SSL CACHE STRING "")
|
||
|
+ set(CRYPTO_LIBRARY OpenSSL::Crypto CACHE STRING "")
|
||
|
+ FIND_PROGRAM(OPENSSL_EXECUTABLE openssl
|
||
|
+ DOC "path to the openssl executable")
|
||
|
+ SET(SSL_DEFINES "-DHAVE_OPENSSL")
|
||
|
+ set(SSL_LIBRARIES OpenSSL::SSL OpenSSL::Crypto)
|
||
|
+ if(NOT WIN32)
|
||
|
+ find_package(Threads REQUIRED)
|
||
|
+ list(APPEND SSL_LIBRARIES Threads::Threads)
|
||
|
+ endif()
|
||
|
+ENDMACRO()
|
||
|
|
||
|
+MACRO (MYSQL_CHECK_SSL_OLD)
|
||
|
IF(NOT WITH_SSL)
|
||
|
SET(WITH_SSL "system" CACHE STRING ${WITH_SSL_DOC_STRING} FORCE)
|
||
|
ENDIF()
|
||
|
diff --git a/cmake/zlib.cmake b/cmake/zlib.cmake
|
||
|
index 26c56fe..65bebb4 100644
|
||
|
--- a/cmake/zlib.cmake
|
||
|
+++ b/cmake/zlib.cmake
|
||
|
@@ -51,28 +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(SAVE_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
|
||
|
- SET(CMAKE_REQUIRED_LIBRARIES ${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 ${SAVE_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()
|