summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 13:22:53 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 13:22:53 +0000
commit347c164c35eddab388009470e6848cb361ac93f8 (patch)
tree2c0c44eac690f510bb0a35b2a13b36d606b77b6b /cmake
parentReleasing progress-linux version 1:10.11.7-4~progress7.99u1. (diff)
downloadmariadb-347c164c35eddab388009470e6848cb361ac93f8.tar.xz
mariadb-347c164c35eddab388009470e6848cb361ac93f8.zip
Merging upstream version 1:10.11.8.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/FindPMEM.cmake18
-rw-r--r--cmake/libutils.cmake6
-rw-r--r--cmake/mariadb_connector_c.cmake7
-rw-r--r--cmake/os/AIX.cmake3
-rw-r--r--cmake/os/SunOS.cmake4
-rw-r--r--cmake/os/WindowsCache.cmake1
-rw-r--r--cmake/pcre.cmake17
-rw-r--r--cmake/plugin.cmake2
-rw-r--r--cmake/ssl.cmake5
-rw-r--r--cmake/zlib.cmake18
10 files changed, 40 insertions, 41 deletions
diff --git a/cmake/FindPMEM.cmake b/cmake/FindPMEM.cmake
deleted file mode 100644
index 02443644..00000000
--- a/cmake/FindPMEM.cmake
+++ /dev/null
@@ -1,18 +0,0 @@
-if(PMEM_LIBRARIES)
- set(PMEM_FOUND TRUE)
- return()
-endif()
-if(DEFINED PMEM_LIBRARIES)
- set(PMEM_FOUND FALSE)
- return()
-endif()
-
-find_path(PMEM_INCLUDE_DIRS NAMES libpmem.h)
-find_library(PMEM_LIBRARIES NAMES pmem)
-
-include(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(
- PMEM DEFAULT_MSG
- PMEM_LIBRARIES PMEM_INCLUDE_DIRS)
-
-mark_as_advanced(PMEM_INCLUDE_DIRS PMEM_LIBRARIES)
diff --git a/cmake/libutils.cmake b/cmake/libutils.cmake
index 74853c36..3263c08e 100644
--- a/cmake/libutils.cmake
+++ b/cmake/libutils.cmake
@@ -379,5 +379,11 @@ FUNCTION (MAYBE_DISABLE_IPO target)
INTERPROCEDURAL_OPTIMIZATION_RELEASE OFF
INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO OFF
INTERPROCEDURAL_OPTIMIZATION_MINSIZEREL OFF)
+ IF(CMAKE_CONFIGURATION_TYPES)
+ FOREACH(cfg ${CMAKE_CONFIGURATION_TYPES})
+ STRING(TOUPPER "${cfg}" cfg_upper)
+ SET_TARGET_PROPERTIES(${target} PROPERTIES INTERPROCEDURAL_OPTIMIZATION_${cfg_upper} OFF)
+ ENDFOREACH()
+ ENDIF()
ENDIF()
ENDFUNCTION()
diff --git a/cmake/mariadb_connector_c.cmake b/cmake/mariadb_connector_c.cmake
index a9b10334..b4f56597 100644
--- a/cmake/mariadb_connector_c.cmake
+++ b/cmake/mariadb_connector_c.cmake
@@ -40,6 +40,13 @@ SET(CLIENT_PLUGIN_PVIO_SOCKET STATIC)
MESSAGE("== Configuring MariaDB Connector/C")
ADD_SUBDIRECTORY(libmariadb)
+IF(MSVC AND TARGET mariadb_obj AND TARGET mariadbclient)
+ # With MSVC, do not produce LTCG-compiled static client libraries.
+ # They are not usable by end-users, being tied to exact compiler version
+ MAYBE_DISABLE_IPO(mariadb_obj)
+ MAYBE_DISABLE_IPO(mariadbclient)
+ENDIF()
+
IF(UNIX)
INSTALL(CODE "EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E make_directory \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${INSTALL_BINDIR})
diff --git a/cmake/os/AIX.cmake b/cmake/os/AIX.cmake
index 7513c4f4..299b7919 100644
--- a/cmake/os/AIX.cmake
+++ b/cmake/os/AIX.cmake
@@ -34,8 +34,5 @@ ELSE()
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -maix64 -pthread -mcmodel=large")
ENDIF()
-# fcntl(fd, F_SETFL, O_DIRECT) is not supported; O_DIRECT is an open(2) flag
-SET(HAVE_FCNTL_DIRECT 0 CACHE INTERNAL "")
-
# make it WARN by default, not AUTO (that implies -Werror)
SET(MYSQL_MAINTAINER_MODE "WARN" CACHE STRING "Enable MariaDB maintainer-specific warnings. One of: NO (warnings are disabled) WARN (warnings are enabled) ERR (warnings are errors) AUTO (warnings are errors in Debug only)")
diff --git a/cmake/os/SunOS.cmake b/cmake/os/SunOS.cmake
index 3d99d347..3a9d2dcc 100644
--- a/cmake/os/SunOS.cmake
+++ b/cmake/os/SunOS.cmake
@@ -17,10 +17,6 @@ INCLUDE(CheckSymbolExists)
INCLUDE(CheckCSourceRuns)
INCLUDE(CheckCSourceCompiles)
-# fcntl(fd, F_SETFL, O_DIRECT) is not supported,
-# and directio(3C) would only work on UFS or NFS, not ZFS.
-SET(HAVE_FCNTL_DIRECT 0 CACHE INTERNAL "")
-
# Enable 64 bit file offsets
SET(_FILE_OFFSET_BITS 64)
diff --git a/cmake/os/WindowsCache.cmake b/cmake/os/WindowsCache.cmake
index ceb42627..c1048661 100644
--- a/cmake/os/WindowsCache.cmake
+++ b/cmake/os/WindowsCache.cmake
@@ -44,7 +44,6 @@ SET(HAVE_EXECINFO_H CACHE INTERNAL "")
SET(HAVE_FCHMOD CACHE INTERNAL "")
SET(HAVE_FCNTL CACHE INTERNAL "")
SET(HAVE_FCNTL_H 1 CACHE INTERNAL "")
-SET(HAVE_FCNTL_DIRECT 0 CACHE INTERNAL "")
SET(HAVE_FCNTL_NONBLOCK CACHE INTERNAL "")
SET(HAVE_FDATASYNC CACHE INTERNAL "")
SET(HAVE_DECL_FDATASYNC CACHE INTERNAL "")
diff --git a/cmake/pcre.cmake b/cmake/pcre.cmake
index 3c427b88..f42db939 100644
--- a/cmake/pcre.cmake
+++ b/cmake/pcre.cmake
@@ -4,6 +4,9 @@ SET(WITH_PCRE "auto" CACHE STRING
"Which pcre to use (possible values are 'bundled', 'system', or 'auto')")
MACRO(BUNDLE_PCRE2)
+ SET(WITH_PCRE "bundled" CACHE STRING
+ "Which pcre to use (possible values are 'bundled', 'system', or 'auto')")
+
SET(dir "${CMAKE_BINARY_DIR}/extra/pcre2")
SET(PCRE_INCLUDE_DIRS ${dir}/src/pcre2-build ${dir}/src/pcre2/src)
MESSAGE(STATUS "Will download and bundle pcre2")
@@ -41,21 +44,21 @@ MACRO(BUNDLE_PCRE2)
SET(byproducts ${byproducts} BUILD_BYPRODUCTS ${file} ${file_d})
SET_TARGET_PROPERTIES(${lib} PROPERTIES IMPORTED_LOCATION ${file})
ENDFOREACH()
+
FOREACH(v "" "_DEBUG" "_RELWITHDEBINFO" "_RELEASE" "_MINSIZEREL")
- STRING(REPLACE "/WX" "" pcre2_flags${v} "${CMAKE_C_FLAGS${v}}")
- SET(pcre2_flags${v} "${pcre2_flags${v}} -std=c99 ")
+ SET(pcre2_flags${v} "${CMAKE_C_FLAGS${v}}")
IF(MSVC)
+ STRING(REPLACE "/WX" "" pcre2_flags${v} "${pcre2_flags${v}}")
# Suppress a warning
- STRING(APPEND pcre2_flags${v} " /wd4244 " )
- # Disable asan support
- STRING(REPLACE "-fsanitize=address" "" pcre2_flags${v} "${CMAKE_C_FLAGS${v}}")
+ STRING(APPEND pcre2_flags${v} " /wd4244 /wd4267 " )
ENDIF()
ENDFOREACH()
+
ExternalProject_Add(
pcre2
PREFIX "${dir}"
- URL "https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.42/pcre2-10.42.zip"
- URL_MD5 fe90992fbfb03f854bd9f344074f49eb
+ URL "https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.43/pcre2-10.43.zip"
+ URL_MD5 b58f050f2fdd6f2ca5774a2975377a85
INSTALL_COMMAND ""
CMAKE_ARGS
"-DCMAKE_WARN_DEPRECATED=FALSE"
diff --git a/cmake/plugin.cmake b/cmake/plugin.cmake
index 6efd40fd..378fc5f5 100644
--- a/cmake/plugin.cmake
+++ b/cmake/plugin.cmake
@@ -46,7 +46,7 @@ MACRO(MYSQL_ADD_PLUGIN)
${CMAKE_SOURCE_DIR}/sql
${PCRE_INCLUDE_DIRS}
${SSL_INCLUDE_DIRS}
- ${ZLIB_INCLUDE_DIR})
+ ${ZLIB_INCLUDE_DIRS})
LIST(GET ARG_UNPARSED_ARGUMENTS 0 plugin)
SET(SOURCES ${ARG_UNPARSED_ARGUMENTS})
diff --git a/cmake/ssl.cmake b/cmake/ssl.cmake
index 646aa37a..8be48e2a 100644
--- a/cmake/ssl.cmake
+++ b/cmake/ssl.cmake
@@ -53,13 +53,14 @@ MACRO (MYSQL_USE_BUNDLED_SSL)
${CMAKE_SOURCE_DIR}/extra/wolfssl/wolfssl
${CMAKE_SOURCE_DIR}/extra/wolfssl/wolfssl/wolfssl
)
- SET(SSL_LIBRARIES wolfssl wolfcrypt)
+ SET(SSL_LIBRARIES wolfssl)
SET(SSL_INCLUDE_DIRS ${INC_DIRS})
SET(SSL_DEFINES "-DHAVE_OPENSSL -DHAVE_WOLFSSL -DWOLFSSL_USER_SETTINGS")
SET(HAVE_ERR_remove_thread_state ON CACHE INTERNAL "wolfssl doesn't have ERR_remove_thread_state")
SET(HAVE_EncryptAes128Ctr OFF CACHE INTERNAL "wolfssl does support AES-CTR, but differently from openssl")
SET(HAVE_EncryptAes128Gcm OFF CACHE INTERNAL "wolfssl does not support AES-GCM")
SET(HAVE_X509_check_host ON CACHE INTERNAL "wolfssl does support X509_check_host")
+ SET(HAVE_des ON CACHE INTERNAL "wolfssl does support DES API")
CHANGE_SSL_SETTINGS("bundled")
ADD_SUBDIRECTORY(extra/wolfssl)
MESSAGE_ONCE(SSL_LIBRARIES "SSL_LIBRARIES = ${SSL_LIBRARIES}")
@@ -158,6 +159,8 @@ MACRO (MYSQL_CHECK_SSL)
HAVE_EncryptAes128Gcm)
CHECK_SYMBOL_EXISTS(X509_check_host "openssl/x509v3.h"
HAVE_X509_check_host)
+ CHECK_SYMBOL_EXISTS(DES_set_key_unchecked "openssl/des.h"
+ HAVE_des)
SET(CMAKE_REQUIRED_INCLUDES)
SET(CMAKE_REQUIRED_LIBRARIES)
SET(CMAKE_REQUIRED_DEFINITIONS)
diff --git a/cmake/zlib.cmake b/cmake/zlib.cmake
index 9e085189..a933194c 100644
--- a/cmake/zlib.cmake
+++ b/cmake/zlib.cmake
@@ -14,9 +14,12 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
MACRO (MYSQL_USE_BUNDLED_ZLIB)
- SET(ZLIB_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/zlib ${CMAKE_BINARY_DIR}/zlib)
+ SET(ZLIB_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/zlib ${CMAKE_BINARY_DIR}/zlib)
SET(BUILD_BUNDLED_ZLIB 1)
- SET(ZLIB_LIBRARY zlib CACHE INTERNAL "Bundled zlib library")
+ SET(ZLIB_LIBRARIES zlib CACHE INTERNAL "Bundled zlib library")
+ # temporarily define ZLIB_LIBRARY and ZLIB_INCLUDE_DIR for libmariadb
+ SET(ZLIB_LIBRARY ${ZLIB_LIBRARIES})
+ SET(ZLIB_INCLUDE_DIR ${ZLIB_INCLUDE_DIRS})
SET(ZLIB_FOUND TRUE)
SET(WITH_ZLIB "bundled" CACHE STRING "Use bundled zlib")
ADD_SUBDIRECTORY(zlib)
@@ -29,7 +32,7 @@ ENDMACRO()
# If this is set,we use bundled zlib
# If this is not set,search for system zlib.
# if system zlib is not found, use bundled copy
-# ZLIB_LIBRARIES, ZLIB_INCLUDE_DIR and ZLIB_SOURCES
+# ZLIB_LIBRARIES, ZLIB_INCLUDE_DIRS
# are set after this macro has run
MACRO (MYSQL_CHECK_ZLIB_WITH_COMPRESS)
@@ -37,10 +40,14 @@ MACRO (MYSQL_CHECK_ZLIB_WITH_COMPRESS)
IF(WITH_ZLIB STREQUAL "bundled")
MYSQL_USE_BUNDLED_ZLIB()
ELSE()
- INCLUDE(FindZLIB)
+ FIND_PACKAGE(PkgConfig QUIET)
+ IF(PKG_CONFIG_FOUND AND (COMMAND PKG_GET_VARIABLE) AND (NOT WIN32))
+ PKG_GET_VARIABLE(ZLIB_ROOT zlib prefix)
+ ENDIF()
+ FIND_PACKAGE(ZLIB)
IF(ZLIB_FOUND)
INCLUDE(CheckFunctionExists)
- SET(CMAKE_REQUIRED_LIBRARIES z)
+ SET(CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARIES})
CHECK_FUNCTION_EXISTS(crc32 HAVE_CRC32)
CHECK_FUNCTION_EXISTS(compressBound HAVE_COMPRESSBOUND)
CHECK_FUNCTION_EXISTS(deflateBound HAVE_DEFLATEBOUND)
@@ -48,7 +55,6 @@ MACRO (MYSQL_CHECK_ZLIB_WITH_COMPRESS)
IF(HAVE_CRC32 AND HAVE_COMPRESSBOUND AND HAVE_DEFLATEBOUND)
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")