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") |