diff options
Diffstat (limited to 'archived/projt-launcher/cmake/findOpenSSLbyNuget.cmake')
| -rw-r--r-- | archived/projt-launcher/cmake/findOpenSSLbyNuget.cmake | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/archived/projt-launcher/cmake/findOpenSSLbyNuget.cmake b/archived/projt-launcher/cmake/findOpenSSLbyNuget.cmake new file mode 100644 index 0000000000..d4c8044b50 --- /dev/null +++ b/archived/projt-launcher/cmake/findOpenSSLbyNuget.cmake @@ -0,0 +1,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()
\ No newline at end of file |
