Find OpenSSL on Windows

This commit is contained in:
ZeldaZach
2023-01-11 18:58:02 -05:00
parent da8f57f397
commit 316c9d13a0
4 changed files with 35 additions and 8 deletions

View File

@@ -9,7 +9,7 @@ if(WIN32)
set(REDIST_ARCH x86) set(REDIST_ARCH x86)
endif() endif()
set(REDIST_FILE vcredist_${REDIST_ARCH}.exe) set(REDIST_FILE vc_redist.${REDIST_ARCH}.exe)
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE) set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE)
include(InstallRequiredSystemLibraries) include(InstallRequiredSystemLibraries)
@@ -32,7 +32,8 @@ if(WIN32)
message(STATUS "Found VCredist ${VCREDISTRUNTIME_FILE}") message(STATUS "Found VCredist ${VCREDISTRUNTIME_FILE}")
else() else()
message( message(
WARNING "Could not find VCredist package. It's not required for compiling, but needs to be available at runtime." WARNING
"Could not find VCredist package in \"${_path}/${REDIST_FILE}\". It's not required for compiling, but needs to be available at runtime."
) )
endif() endif()
endif() endif()

View File

@@ -9,9 +9,14 @@ if("${CMAKE_GENERATOR_PLATFORM}" STREQUAL "x64")
message(STATUS "Looking for OpenSSL for ${CMAKE_GENERATOR_PLATFORM}") message(STATUS "Looking for OpenSSL for ${CMAKE_GENERATOR_PLATFORM}")
file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _programfiles) file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _programfiles)
set(_OPENSSL_ROOT_PATHS set(_OPENSSL_ROOT_PATHS
"$ENV{VCPKG_PACKAGES_DIR}/x64-windows/bin" "C:/OpenSSL-Win64/bin" "C:/OpenSSL-Win64" "$ENV{VCPKG_PACKAGES_DIR}/x64-windows/bin"
"C:/Tools/vcpkg/installed/x64-windows/bin" "${_programfiles}/OpenSSL-Win64" "C:/OpenSSL-Win64/bin"
"C:/OpenSSL-Win64"
"C:/Tools/vcpkg/installed/x64-windows/bin"
"${_programfiles}/OpenSSL-Win64"
"D:/a/Cockatrice/Qt/Tools/OpenSSL/Win_x64/bin" "D:/a/Cockatrice/Qt/Tools/OpenSSL/Win_x64/bin"
expanduser
("~/Documents/Development/Qt/Tools/OpenSSL/Win_x64/bin")
) )
unset(_programfiles) unset(_programfiles)
elseif("${CMAKE_GENERATOR_PLATFORM}" STREQUAL "Win32") elseif("${CMAKE_GENERATOR_PLATFORM}" STREQUAL "Win32")
@@ -26,12 +31,14 @@ elseif("${CMAKE_GENERATOR_PLATFORM}" STREQUAL "Win32")
"${_programfiles}/OpenSSL" "${_programfiles}/OpenSSL"
"${_programfiles}/OpenSSL-Win32" "${_programfiles}/OpenSSL-Win32"
"D:/a/Cockatrice/Qt/Tools/OpenSSL/Win_x86/bin" "D:/a/Cockatrice/Qt/Tools/OpenSSL/Win_x86/bin"
expanduser
("~/Documents/Development/Qt/Tools/OpenSSL/Win_x86/bin")
) )
unset(_programfiles) unset(_programfiles)
endif() endif()
message(STATUS "Looking for OpenSSL @ $ENV{CMAKE_GENERATOR_PLATFORM} in ${_OPENSSL_ROOT_PATHS}") message(STATUS "Looking for OpenSSL @ ${CMAKE_GENERATOR_PLATFORM} in ${_OPENSSL_ROOT_PATHS}")
if("$ENV{CMAKE_GENERATOR_PLATFORM}" STREQUAL "x64") if("${CMAKE_GENERATOR_PLATFORM}" STREQUAL "x64")
find_file( find_file(
WIN32SSLRUNTIME_LIBEAY WIN32SSLRUNTIME_LIBEAY
NAMES libcrypto-1_1-x64.dll libcrypto.dll NAMES libcrypto-1_1-x64.dll libcrypto.dll
@@ -44,7 +51,7 @@ if("$ENV{CMAKE_GENERATOR_PLATFORM}" STREQUAL "x64")
PATHS ${_OPENSSL_ROOT_PATHS} PATHS ${_OPENSSL_ROOT_PATHS}
NO_DEFAULT_PATH NO_DEFAULT_PATH
) )
elseif("$ENV{CMAKE_GENERATOR_PLATFORM}" STREQUAL "Win32") elseif("${CMAKE_GENERATOR_PLATFORM}" STREQUAL "Win32")
find_file( find_file(
WIN32SSLRUNTIME_LIBEAY WIN32SSLRUNTIME_LIBEAY
NAMES libcrypto-1_1.dll libcrypto.dll NAMES libcrypto-1_1.dll libcrypto.dll

19
cmake/expanduser.cmake Normal file
View File

@@ -0,0 +1,19 @@
# expands ~ to user home directory
#
# usage:
# expanduser("~/code" x)
function(expanduser in outvar)
if(CMAKE_VERSION VERSION_LESS 3.21)
get_filename_component(out ${in} ABSOLUTE)
else()
file(REAL_PATH ${in} out EXPAND_TILDE)
endif()
set(${outvar}
${out}
PARENT_SCOPE
)
endfunction(expanduser)

2
vcpkg

Submodule vcpkg updated: 79fa9d85cb...c30de8e136