diff --git a/CMakeLists.txt b/CMakeLists.txt
index e17ec1d0..465e42f0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -818,9 +818,13 @@ INCLUDE(fileutils)
 INCLUDE(zlib)
 INCLUDE(zstd)
 INCLUDE(lz4)
-INCLUDE(icu)
+macro(MYSQL_CHECK_ICU)
+endmacro()
 INCLUDE(libbacktrace)
-INCLUDE(libevent)
+macro(MYSQL_CHECK_LIBEVENT)
+endmacro()
+macro(WARN_MISSING_SYSTEM_LIBEVENT)
+endmacro()
 INCLUDE(ssl)
 INCLUDE(sasl)
 INCLUDE(ldap)
@@ -837,7 +840,8 @@ INCLUDE(curl)
 INCLUDE(rapidjson)
 INCLUDE(fprofile)
 INCLUDE(gloves)
-INCLUDE(fido2)
+macro(MYSQL_CHECK_FIDO)
+endmacro()
 INCLUDE(win_jemalloc)
 
 IF(UNIX)
@@ -1942,7 +1947,7 @@ MYSQL_CHECK_RAPIDJSON()
 MYSQL_CHECK_FIDO()
 MYSQL_CHECK_FIDO_DLLS()
 
-IF(APPLE)
+IF(0)
   GET_FILENAME_COMPONENT(HOMEBREW_BASE ${HOMEBREW_HOME} DIRECTORY)
   IF(EXISTS ${HOMEBREW_BASE}/include/boost)
     FOREACH(SYSTEM_LIB ICU LIBEVENT LZ4 PROTOBUF ZSTD FIDO)
diff --git a/cmake/boost.cmake b/cmake/boost.cmake
index c979055c..53e55fcf 100644
--- a/cmake/boost.cmake
+++ b/cmake/boost.cmake
@@ -301,7 +301,7 @@ IF(NOT BOOST_MAJOR_VERSION EQUAL 10)
   COULD_NOT_FIND_BOOST()
 ENDIF()
 
-IF(NOT BOOST_MINOR_VERSION EQUAL 77)
+IF(NOT BOOST_MINOR_VERSION EQUAL 77 AND NOT IGNORE_BOOST_VERSION)
   MESSAGE(WARNING "Boost minor version found is ${BOOST_MINOR_VERSION} "
     "we need 77"
     )
diff --git a/cmake/libutils.cmake b/cmake/libutils.cmake
index 7107f4bd..bb7f3733 100644
--- a/cmake/libutils.cmake
+++ b/cmake/libutils.cmake
@@ -534,7 +534,7 @@ MACRO(MERGE_CONVENIENCE_LIBRARIES TARGET_ARG)
 
   # On Windows, ssleay32.lib/libeay32.lib or libssl.lib/libcrypto.lib
   # must be merged into mysqlclient.lib
-  IF(WIN32 AND ${TARGET} STREQUAL "mysqlclient")
+  IF(0)
     SET(LINKER_EXTRA_FLAGS "")
     FOREACH(LIB ${SSL_LIBRARIES})
       STRING_APPEND(LINKER_EXTRA_FLAGS " ${LIB}")
diff --git a/cmake/lz4.cmake b/cmake/lz4.cmake
index 10e7e8c8..48772329 100644
--- a/cmake/lz4.cmake
+++ b/cmake/lz4.cmake
@@ -46,7 +46,7 @@ FUNCTION(FIND_SYSTEM_LZ4)
   FIND_PATH(LZ4_INCLUDE_DIR
     NAMES lz4frame.h)
   FIND_LIBRARY(LZ4_SYSTEM_LIBRARY
-    NAMES lz4)
+    NAMES lz4d lz4 NAMES_PER_DIR)
   IF (LZ4_INCLUDE_DIR AND LZ4_SYSTEM_LIBRARY)
     SET(SYSTEM_LZ4_FOUND 1 CACHE INTERNAL "")
     ADD_LIBRARY(lz4_interface INTERFACE)
diff --git a/cmake/ssl.cmake b/cmake/ssl.cmake
index 04e3af87..8ae52c82 100644
--- a/cmake/ssl.cmake
+++ b/cmake/ssl.cmake
@@ -273,7 +273,18 @@ MACRO (MYSQL_CHECK_SSL)
     FIND_ALTERNATIVE_SYSTEM_SSL()
   ENDIF()
 
-  IF(WITH_SSL STREQUAL "system" OR WITH_SSL_PATH OR ALTERNATIVE_SYSTEM_SSL)
+  IF(WITH_SSL STREQUAL "system")
+    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")
+    add_library(ext::openssl ALIAS OpenSSL::SSL)
+    set(SSL_LIBRARIES ext::openssl)
+    set(OPENSSL_APPLINK_C "${OPENSSL_APPLINK_SOURCE}")
+    include_directories(SYSTEM ${OPENSSL_INCLUDE_DIR})
+  ELSEIF(WITH_SSL STREQUAL "system" OR WITH_SSL_PATH OR ALTERNATIVE_SYSTEM_SSL)
     IF((APPLE OR WIN32) AND WITH_SSL STREQUAL "system")
       # FindOpenSSL.cmake knows about
       # http://www.slproweb.com/products/Win32OpenSSL.html
diff --git a/cmake/zlib.cmake b/cmake/zlib.cmake
index 3781fe09..ac312ad0 100644
--- a/cmake/zlib.cmake
+++ b/cmake/zlib.cmake
@@ -124,7 +124,7 @@ MACRO (MYSQL_CHECK_ZLIB)
     MESSAGE(FATAL_ERROR "WITH_ZLIB must be bundled or system")
   ENDIF()
 
-  ADD_LIBRARY(ext::zlib ALIAS zlib_interface)
+  ADD_LIBRARY(ext::zlib ALIAS ZLIB::ZLIB)
 
   IF(ZLIB_VERSION VERSION_LESS MIN_ZLIB_VERSION_REQUIRED)
     MESSAGE(FATAL_ERROR
diff --git a/cmake/zstd.cmake b/cmake/zstd.cmake
index 425426d1..0ae1a907 100644
--- a/cmake/zstd.cmake
+++ b/cmake/zstd.cmake
@@ -90,15 +90,16 @@ MACRO (MYSQL_CHECK_ZSTD)
   IF(WITH_ZSTD STREQUAL "bundled")
     MYSQL_USE_BUNDLED_ZSTD()
   ELSEIF(WITH_ZSTD STREQUAL "system")
-    FIND_SYSTEM_ZSTD()
-    IF (NOT SYSTEM_ZSTD_FOUND)
-      MESSAGE(FATAL_ERROR "Cannot find system zstd libraries.")
-    ENDIF()
+    find_package(ZSTD NAMES zstd REQUIRED)
   ELSE()
     MESSAGE(FATAL_ERROR "WITH_ZSTD must be bundled or system")
   ENDIF()
 
-  ADD_LIBRARY(ext::zstd ALIAS zstd_interface)
+  if(TARGET zstd::libzstd_shared)
+    add_library(ext::zstd ALIAS zstd::libzstd_shared)
+  else()
+    add_library(ext::zstd ALIAS zstd::libzstd_static)
+  endif()
 
   IF(ZSTD_VERSION VERSION_LESS MIN_ZSTD_VERSION_REQUIRED)
     MESSAGE(FATAL_ERROR
