summaryrefslogtreecommitdiff
path: root/archived/projt-launcher/cmake/findOpenSSLbyNuget.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'archived/projt-launcher/cmake/findOpenSSLbyNuget.cmake')
-rw-r--r--archived/projt-launcher/cmake/findOpenSSLbyNuget.cmake34
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