177 lines
7.1 KiB
Diff
177 lines
7.1 KiB
Diff
|
diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt
|
||
|
index 8881f5194..c366f160a 100644
|
||
|
--- a/src/libmongoc/CMakeLists.txt
|
||
|
+++ b/src/libmongoc/CMakeLists.txt
|
||
|
@@ -58,8 +58,9 @@ configure_file (
|
||
|
set (ZLIB_INCLUDE_DIRS "")
|
||
|
if (ENABLE_ZLIB MATCHES "SYSTEM|AUTO")
|
||
|
message (STATUS "Searching for zlib CMake packages")
|
||
|
- include (FindZLIB)
|
||
|
+ find_package(ZLIB REQUIRED)
|
||
|
if (ZLIB_FOUND)
|
||
|
+ set(VCPKG_ZLIB_LIBRARIES "ZLIB::ZLIB")
|
||
|
message ("-- zlib found version \"${ZLIB_VERSION_STRING}\"")
|
||
|
message ("-- zlib include path \"${ZLIB_INCLUDE_DIRS}\"")
|
||
|
message ("-- zlib libraries \"${ZLIB_LIBRARIES}\"")
|
||
|
@@ -100,32 +101,31 @@ endif ()
|
||
|
|
||
|
if (NOT ENABLE_ZSTD STREQUAL OFF)
|
||
|
message (STATUS "Searching for compression library zstd")
|
||
|
- find_package(PkgConfig)
|
||
|
- pkg_check_modules (ZSTD libzstd)
|
||
|
+ find_package(zstd CONFIG REQUIRED)
|
||
|
|
||
|
- if (NOT ZSTD_FOUND)
|
||
|
+ if (NOT zstd_FOUND)
|
||
|
if (ENABLE_ZSTD MATCHES "ON")
|
||
|
message (FATAL_ERROR " Not found")
|
||
|
else ()
|
||
|
message (STATUS " Not found")
|
||
|
endif ()
|
||
|
# The compression format below this version isn't supported. See SERVER-43070
|
||
|
- elseif (${ZSTD_VERSION} VERSION_LESS "0.8.0")
|
||
|
+ elseif (${zstd_VERSION} VERSION_LESS "0.8.0")
|
||
|
if (ENABLE_ZSTD MATCHES "ON")
|
||
|
- message (FATAL_ERROR "Detected zstd version ${ZSTD_VERSION} but version 0.8.0 required")
|
||
|
+ message (FATAL_ERROR "Detected zstd version ${zstd_VERSION} but version 0.8.0 required")
|
||
|
else ()
|
||
|
- message (STATUS "Detected zstd version ${ZSTD_VERSION} but version 0.8.0 required")
|
||
|
+ message (STATUS "Detected zstd version ${zstd_VERSION} but version 0.8.0 required")
|
||
|
endif ()
|
||
|
else ()
|
||
|
- message (STATUS " Found zstd version ${ZSTD_VERSION} in ${ZSTD_INCLUDE_DIRS}")
|
||
|
+ message (STATUS " Found zstd version ${zstd_VERSION} in ${ZSTD_INCLUDE_DIRS}")
|
||
|
set (MONGOC_ENABLE_COMPRESSION 1)
|
||
|
set (MONGOC_ENABLE_COMPRESSION_ZSTD 1)
|
||
|
|
||
|
include_directories (${ZSTD_INCLUDE_DIRS})
|
||
|
- if (${CMAKE_VERSION} VERSION_LESS "3.12.0")
|
||
|
- set (MONGOC_ZSTD_LIBRARIES ${ZSTD_LIBRARIES})
|
||
|
+ if (MONGOC_ENABLE_STATIC_BUILD)
|
||
|
+ set (MONGOC_ZSTD_LIBRARIES "zstd::libzstd_static")
|
||
|
else ()
|
||
|
- set (MONGOC_ZSTD_LIBRARIES ${ZSTD_LINK_LIBRARIES})
|
||
|
+ set (MONGOC_ZSTD_LIBRARIES "zstd::libzstd_shared")
|
||
|
endif ()
|
||
|
endif()
|
||
|
endif()
|
||
|
@@ -134,8 +134,8 @@ if (NOT ENABLE_SSL STREQUAL OFF)
|
||
|
# Try OpenSSL automatically everywhere but Mac and Windows.
|
||
|
if (ENABLE_SSL STREQUAL "OPENSSL"
|
||
|
OR (NOT APPLE AND NOT WIN32 AND ENABLE_SSL STREQUAL "AUTO"))
|
||
|
- # Sets OPENSSL_FOUND on success.
|
||
|
- include (FindOpenSSL)
|
||
|
+ # Sets OpenSSL_FOUND on success.
|
||
|
+ find_package(OpenSSL REQUIRED)
|
||
|
endif ()
|
||
|
|
||
|
if (ENABLE_SSL STREQUAL LIBRESSL)
|
||
|
@@ -171,7 +171,7 @@ if (NOT ENABLE_SSL STREQUAL OFF)
|
||
|
endif ()
|
||
|
endif ()
|
||
|
|
||
|
- if (NOT OPENSSL_FOUND AND NOT SECURE_TRANSPORT AND NOT SECURE_CHANNEL AND NOT LIBRESSL)
|
||
|
+ if (NOT OpenSSL_FOUND AND NOT SECURE_TRANSPORT AND NOT SECURE_CHANNEL AND NOT LIBRESSL)
|
||
|
if (ENABLE_SSL STREQUAL AUTO)
|
||
|
set (ENABLE_SSL OFF)
|
||
|
else ()
|
||
|
@@ -180,8 +180,8 @@ if (NOT ENABLE_SSL STREQUAL OFF)
|
||
|
endif ()
|
||
|
endif ()
|
||
|
|
||
|
-if (OPENSSL_FOUND)
|
||
|
- if (WIN32 AND OPENSSL_VERSION GREATER 1.1 AND NOT
|
||
|
+if (OpenSSL_FOUND)
|
||
|
+ if (WIN32 AND OpenSSL_VERSION GREATER 1.1 AND NOT
|
||
|
${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 3.7)
|
||
|
message (FATAL_ERROR "Building against OpenSSL 1.1.0 and later requires CMake 3.7 or later (hint:"
|
||
|
" You can also compile against Windows Secure Transport with -DENABLE_SSL=WINDOWS")
|
||
|
@@ -220,7 +220,7 @@ elseif (LIBRESSL)
|
||
|
endif ()
|
||
|
|
||
|
if (ENABLE_CRYPTO_SYSTEM_PROFILE)
|
||
|
- if (OPENSSL_FOUND)
|
||
|
+ if (OpenSSL_FOUND)
|
||
|
set (MONGOC_ENABLE_CRYPTO_SYSTEM_PROFILE 1)
|
||
|
else ()
|
||
|
message (FATAL_ERROR "ENABLE_CRYPTO_SYSTEM_PROFILE only available with OpenSSL")
|
||
|
@@ -349,10 +349,10 @@ if (ENABLE_TRACING)
|
||
|
endif ()
|
||
|
|
||
|
# Sets SNAPPY_LIBRARIES and SNAPPY_INCLUDE_DIRS.
|
||
|
-include (FindSnappy)
|
||
|
-if (SNAPPY_INCLUDE_DIRS)
|
||
|
+if (ENABLE_SNAPPY)
|
||
|
+ find_package(Snappy CONFIG REQUIRED)
|
||
|
set (MONGOC_ENABLE_COMPRESSION 1)
|
||
|
- include_directories ("${SNAPPY_INCLUDE_DIRS}")
|
||
|
+ set (VCPKG_SNAPPY_LIBRARIES "Snappy::snappy")
|
||
|
endif ()
|
||
|
|
||
|
set (MONGOC_ENABLE_SHM_COUNTERS 0)
|
||
|
@@ -393,6 +393,7 @@ if (NOT ENABLE_ICU STREQUAL OFF)
|
||
|
endif()
|
||
|
if (ICU_FOUND)
|
||
|
set (MONGOC_ENABLE_ICU 1)
|
||
|
+ set(VCPKG_ICU_LIBRARIES "ICU::uc")
|
||
|
include_directories ("${ICU_INCLUDE_DIR}")
|
||
|
elseif (ENABLE_ICU STREQUAL ON)
|
||
|
message (FATAL_ERROR "No ICU library found. If ICU is installed in a non-standard directory, define ICU_ROOT as the ICU installation path.")
|
||
|
@@ -623,7 +624,7 @@ if (NOT ENABLE_SSL STREQUAL OFF)
|
||
|
${PROJECT_SOURCE_DIR}/src/mongoc/mongoc-ssl.c
|
||
|
)
|
||
|
|
||
|
- if (OPENSSL_FOUND)
|
||
|
+ if (OpenSSL_FOUND)
|
||
|
message (STATUS "Compiling against OpenSSL")
|
||
|
set (SOURCES ${SOURCES}
|
||
|
${PROJECT_SOURCE_DIR}/src/mongoc/mongoc-crypto-openssl.c
|
||
|
@@ -633,7 +634,7 @@ if (NOT ENABLE_SSL STREQUAL OFF)
|
||
|
${PROJECT_SOURCE_DIR}/src/mongoc/mongoc-openssl.c
|
||
|
${PROJECT_SOURCE_DIR}/src/mongoc/mongoc-ocsp-cache.c
|
||
|
)
|
||
|
- set (SSL_LIBRARIES ${OPENSSL_LIBRARIES})
|
||
|
+ set (SSL_LIBRARIES "OpenSSL::SSL")
|
||
|
include_directories (${OPENSSL_INCLUDE_DIR})
|
||
|
if (WIN32)
|
||
|
set (SSL_LIBRARIES ${SSL_LIBRARIES} crypt32.lib)
|
||
|
@@ -696,11 +697,11 @@ endif ()
|
||
|
|
||
|
set (LIBRARIES
|
||
|
${SASL_LIBRARIES} ${SSL_LIBRARIES} ${SHM_LIBRARIES} ${RESOLV_LIBRARIES}
|
||
|
- ${SNAPPY_LIBRARIES} ${ZLIB_LIBRARIES} ${MONGOC_ZSTD_LIBRARIES} Threads::Threads ${ICU_LIBRARIES} ${LIBMONGOCRYPT_LIBRARY}
|
||
|
+ ${VCPKG_SNAPPY_LIBRARIES} ${VCPKG_ZLIB_LIBRARIES} ${MONGOC_ZSTD_LIBRARIES} Threads::Threads ${VCPKG_ICU_LIBRARIES} ${LIBMONGOCRYPT_LIBRARY}
|
||
|
)
|
||
|
set (STATIC_LIBRARIES
|
||
|
${SASL_LIBRARIES} ${SSL_LIBRARIES} ${SHM_LIBRARIES} ${RESOLV_LIBRARIES}
|
||
|
- ${SNAPPY_LIBRARIES} ${ZLIB_LIBRARIES} ${MONGOC_ZSTD_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${ICU_LIBRARIES} ${LIBMONGOCRYPT_LIBRARY}
|
||
|
+ ${VCPKG_SNAPPY_LIBRARIES} ${VCPKG_ZLIB_LIBRARIES} ${MONGOC_ZSTD_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${VCPKG_ICU_LIBRARIES} ${LIBMONGOCRYPT_LIBRARY}
|
||
|
)
|
||
|
|
||
|
if (WIN32)
|
||
|
diff --git a/src/libmongoc/src/mongoc-config.cmake b/src/libmongoc/src/mongoc-config.cmake
|
||
|
index 9224178e6..6e449c109 100644
|
||
|
--- a/src/libmongoc/src/mongoc-config.cmake
|
||
|
+++ b/src/libmongoc/src/mongoc-config.cmake
|
||
|
@@ -1,3 +1,20 @@
|
||
|
include(CMakeFindDependencyMacro)
|
||
|
find_dependency(bson-1.0 @MONGOC_MAJOR_VERSION@.@MONGOC_MINOR_VERSION@.@MONGOC_MICRO_VERSION@ CONFIG REQUIRED)
|
||
|
+
|
||
|
+if("@Threads_FOUND@")
|
||
|
+ find_dependency(Threads REQUIRED)
|
||
|
+endif()
|
||
|
+if("@ZLIB_FOUND@")
|
||
|
+ find_dependency(ZLIB REQUIRED)
|
||
|
+endif()
|
||
|
+if("@zstd_FOUND@")
|
||
|
+ find_dependency(zstd CONFIG REQUIRED)
|
||
|
+endif()
|
||
|
+if("@OpenSSL_FOUND@")
|
||
|
+ find_dependency(OpenSSL REQUIRED)
|
||
|
+endif()
|
||
|
+if("@Snappy_FOUND@")
|
||
|
+ find_dependency(Snappy CONFIG REQUIRED)
|
||
|
+endif()
|
||
|
+
|
||
|
include("${CMAKE_CURRENT_LIST_DIR}/mongoc-targets.cmake")
|