blob: d4c8044b50cc9a61c55a198d3e08586e36bf69b2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
function(projt_find_openssl_by_nuget)
# Find OpenSSL from NuGet
file(GLOB NUGET_OSSL_ROOTS "${CMAKE_SOURCE_DIR}/dependencies/openssl-native*")
if(NUGET_OSSL_ROOTS)
list(GET NUGET_OSSL_ROOTS 0 OSSL_ROOT_DIR)
message(STATUS "Found OpenSSL NuGet: ${OSSL_ROOT_DIR}")
set(OPENSSL_ROOT_DIR "${OSSL_ROOT_DIR}/build/native" CACHE PATH "" FORCE)
set(OPENSSL_USE_STATIC_LIBS ON)
file(GLOB_RECURSE OSSL_LIBS "${OSSL_ROOT_DIR}/*.lib")
foreach(LIB_PATH ${OSSL_LIBS})
# Strictly match architecture folder to avoid win-x86
if(LIB_PATH MATCHES "win-${OSSL_ARCH}" OR LIB_PATH MATCHES "/${OSSL_ARCH}/")
if(LIB_PATH MATCHES "libcrypto.lib$|crypto.lib$")
if(NOT LIB_PATH MATCHES "[Dd]ebug" OR NOT OPENSSL_CRYPTO_LIBRARY)
set(OPENSSL_CRYPTO_LIBRARY "${LIB_PATH}" CACHE FILEPATH "" FORCE)
endif()
elseif(LIB_PATH MATCHES "libssl.lib$|ssl.lib$")
if(NOT LIB_PATH MATCHES "[Dd]ebug" OR NOT OPENSSL_SSL_LIBRARY)
set(OPENSSL_SSL_LIBRARY "${LIB_PATH}" CACHE FILEPATH "" FORCE)
endif()
endif()
endif()
endforeach()
if(OPENSSL_CRYPTO_LIBRARY AND OPENSSL_SSL_LIBRARY)
set(OPENSSL_INCLUDE_DIR "${OPENSSL_ROOT_DIR}/include" CACHE PATH "" FORCE)
set(OPENSSL_LIBRARIES "${OPENSSL_SSL_LIBRARY}" "${OPENSSL_CRYPTO_LIBRARY}" CACHE STRING "" FORCE)
message(STATUS "Found OpenSSL via NuGet: ${OPENSSL_CRYPTO_LIBRARY}")
set(OpenSSL_FOUND TRUE CACHE BOOL "" FORCE)
set(OPENSSL_FOUND TRUE CACHE BOOL "" FORCE)
endif()
endif()
endfunction()
|