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,17 @@ ENDMACRO() # Provides the following configure options: # WITH_SSL=[yes|bundled|system|] MACRO (MYSQL_CHECK_SSL) + find_package(OpenSSL REQUIRED) + find_package(Threads 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} Threads::Threads) +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()