aboutsummaryrefslogtreecommitdiff
path: root/ports/libmysql/system-libs.patch
blob: 3fb4d35c87c3517eb117268f1ba84e529134b63e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
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|<path/to/custom/installation>]
 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()