diff --git a/Source/Modules/CMakeBuildUtilities.cmake b/Source/Modules/CMakeBuildUtilities.cmake index 09d8250cf8..dba9d50690 100644 --- a/Source/Modules/CMakeBuildUtilities.cmake +++ b/Source/Modules/CMakeBuildUtilities.cmake @@ -159,6 +159,7 @@ else() set(CURL_CA_BUNDLE "" CACHE FILEPATH "Path to SSL CA Certificate Bundle") set(CURL_CA_PATH "" CACHE PATH "Path to SSL CA Certificate Directory") mark_as_advanced(CURL_CA_BUNDLE CURL_CA_PATH) + find_package(OpenSSL) endif() if(NOT CMAKE_USE_SYSTEM_NGHTTP2) # Tell curl's FindNGHTTP2 module to use our library. diff --git a/Utilities/Release/linux/aarch64/cache.txt b/Utilities/Release/linux/aarch64/cache.txt index 9b13440208..3cc97128d9 100644 --- a/Utilities/Release/linux/aarch64/cache.txt +++ b/Utilities/Release/linux/aarch64/cache.txt @@ -8,7 +8,7 @@ CMAKE_EXE_LINKER_FLAGS:STRING=-static-libstdc++ -static-libgcc # Enable ssl support in curl CMAKE_USE_OPENSSL:BOOL=ON -OPENSSL_CRYPTO_LIBRARY:STRING=/opt/openssl/lib/libcrypto.a;-pthread +OPENSSL_CRYPTO_LIBRARY:STRING=/opt/openssl/lib/libcrypto.a OPENSSL_INCLUDE_DIR:PATH=/opt/openssl/include OPENSSL_SSL_LIBRARY:FILEPATH=/opt/openssl/lib/libssl.a diff --git a/Utilities/Release/linux/x86_64/cache.txt b/Utilities/Release/linux/x86_64/cache.txt index a40f8fb989..46dc81a06b 100644 --- a/Utilities/Release/linux/x86_64/cache.txt +++ b/Utilities/Release/linux/x86_64/cache.txt @@ -8,7 +8,7 @@ CMAKE_EXE_LINKER_FLAGS:STRING=-static-libstdc++ -static-libgcc # Enable ssl support in curl CMAKE_USE_OPENSSL:BOOL=ON -OPENSSL_CRYPTO_LIBRARY:STRING=/opt/openssl/lib/libcrypto.a;-pthread +OPENSSL_CRYPTO_LIBRARY:STRING=/opt/openssl/lib/libcrypto.a OPENSSL_INCLUDE_DIR:PATH=/opt/openssl/include OPENSSL_SSL_LIBRARY:FILEPATH=/opt/openssl/lib/libssl.a diff --git a/Utilities/cmcurl/CMakeLists.txt b/Utilities/cmcurl/CMakeLists.txt index f7d9cd42c1..75b5102059 100644 --- a/Utilities/cmcurl/CMakeLists.txt +++ b/Utilities/cmcurl/CMakeLists.txt @@ -1,4 +1,5 @@ # Set curl options as needed for CMake build +set(_CURL_QUICK_DETECT ON) set(BUILD_CURL_EXE OFF CACHE INTERNAL "No curl exe") set(BUILD_DASHBOARD_REPORTS OFF CACHE INTERNAL "No curl dashboard reports") set(BUILD_RELEASE_DEBUG_DIRS OFF CACHE INTERNAL "No curl release/debug dirs") @@ -1178,7 +1179,11 @@ macro(curl_openssl_check_symbol_exists _symbol _files _variable) list(APPEND CMAKE_REQUIRED_LIBRARIES OpenSSL::SSL OpenSSL::Crypto) list(APPEND CMAKE_REQUIRED_DEFINITIONS "-DOPENSSL_SUPPRESS_DEPRECATED") # for SSL_CTX_set_srp_username deprecated since 3.0.0 if(HAVE_LIBZ) - list(APPEND CMAKE_REQUIRED_LIBRARIES ZLIB::ZLIB) + if(CMAKE_USE_SYSTEM_ZLIB) + list(APPEND CMAKE_REQUIRED_LIBRARIES ZLIB::ZLIB) + else() + list(APPEND CMAKE_REQUIRED_LIBRARIES cmzlib) + endif() endif() if(WIN32) list(APPEND CMAKE_REQUIRED_LIBRARIES "ws2_32") diff --git a/Utilities/cmlibarchive/CMakeLists.txt b/Utilities/cmlibarchive/CMakeLists.txt index 166b301528..04d986b6ea 100644 --- a/Utilities/cmlibarchive/CMakeLists.txt +++ b/Utilities/cmlibarchive/CMakeLists.txt @@ -887,8 +887,8 @@ IF(ENABLE_OPENSSL AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin") IF(OPENSSL_FOUND) SET(HAVE_LIBCRYPTO 1) INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR}) - LIST(APPEND ADDITIONAL_LIBS ${OPENSSL_CRYPTO_LIBRARY}) - SET(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY}) + list(APPEND ADDITIONAL_LIBS OpenSSL::Crypto) + set(CMAKE_REQUIRED_LIBRARIES OpenSSL::Crypto) SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) LA_CHECK_INCLUDE_FILE("openssl/evp.h" HAVE_OPENSSL_EVP_H) CHECK_FUNCTION_EXISTS(PKCS5_PBKDF2_HMAC_SHA1 HAVE_PKCS5_PBKDF2_HMAC_SHA1) @@ -1018,9 +1018,8 @@ main(int argc, char **argv) # was found on this platform. IF (ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION}) IF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND) - INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR}) - LIST(APPEND ADDITIONAL_LIBS ${OPENSSL_LIBRARIES}) - LIST(REMOVE_DUPLICATES ADDITIONAL_LIBS) + LIST(APPEND ADDITIONAL_LIBS OpenSSL::Crypto) + LIST(REMOVE_DUPLICATES ADDITIONAL_LIBS) ENDIF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND) ENDIF (ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION}) ENDIF(NOT ARCHIVE_CRYPTO_${ALGORITHM})