Find OpenSSL on Windows (#4730)

This commit is contained in:
Zach H 2023-02-07 13:47:50 -08:00 committed by GitHub
parent 00c9efe541
commit ba35a11e82
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 21 additions and 11 deletions

View file

@ -116,6 +116,7 @@ The following flags can be passed to `cmake`:
- `-DUPDATE_TRANSLATIONS=1` Configure `make` to update the translation .ts files for new strings in the source code. Note: Running `make clean` will remove the .ts files (default 0 = no). - `-DUPDATE_TRANSLATIONS=1` Configure `make` to update the translation .ts files for new strings in the source code. Note: Running `make clean` will remove the .ts files (default 0 = no).
- `-DTEST=1` Enable regression tests (default 0 = no). Note: needs googletest, will be downloaded on the fly if unavailable. To run tests: ```make test```. - `-DTEST=1` Enable regression tests (default 0 = no). Note: needs googletest, will be downloaded on the fly if unavailable. To run tests: ```make test```.
- `-DFORCE_USE_QT5=1` Skip looking for Qt6 before trying to find Qt5 - `-DFORCE_USE_QT5=1` Skip looking for Qt6 before trying to find Qt5
- `-DOPEN_SSL_PATH=C:/Path/To/Tools/OpenSSL/Win_x64/bin"` Designate the OpenSSL Path if you're using non-standard directives
# Run # Run

View file

@ -9,7 +9,8 @@ if(WIN32)
set(REDIST_ARCH x86) set(REDIST_ARCH x86)
endif() endif()
set(REDIST_FILE vcredist_${REDIST_ARCH}.exe) # VS 2017 uses vcredist_ARCH.exe, VS 2022 uses vc_redist.ARCH.exe
set(REDIST_FILE_NAMES vcredist_${REDIST_ARCH}.exe 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)
@ -22,10 +23,13 @@ if(WIN32)
get_filename_component(_path ${_path} DIRECTORY) get_filename_component(_path ${_path} DIRECTORY)
get_filename_component(_path ${_path}/../../ ABSOLUTE) get_filename_component(_path ${_path}/../../ ABSOLUTE)
if(EXISTS "${_path}/${REDIST_FILE}") # VS 2017 foreach(redist_file ${REDIST_FILE_NAMES})
if(EXISTS "${_path}/${REDIST_FILE}")
set(VCREDISTRUNTIME_FOUND "YES") set(VCREDISTRUNTIME_FOUND "YES")
set(VCREDISTRUNTIME_FILE ${_path}/${REDIST_FILE}) set(VCREDISTRUNTIME_FILE ${_path}/${redist_file})
break()
endif() endif()
endforeach()
endif() endif()
if(VCREDISTRUNTIME_FOUND) if(VCREDISTRUNTIME_FOUND)

View file

@ -9,8 +9,12 @@ 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" ${OPEN_SSL_PATH}
"C:/Tools/vcpkg/installed/x64-windows/bin" "${_programfiles}/OpenSSL-Win64" "$ENV{VCPKG_PACKAGES_DIR}/x64-windows/bin"
"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"
) )
unset(_programfiles) unset(_programfiles)
@ -18,6 +22,7 @@ elseif("${CMAKE_GENERATOR_PLATFORM}" STREQUAL "Win32")
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
${OPEN_SSL_PATH}
"$ENV{VCPKG_PACKAGES_DIR}/x86-windows/bin" "$ENV{VCPKG_PACKAGES_DIR}/x86-windows/bin"
"C:/OpenSSL-Win32/bin" "C:/OpenSSL-Win32/bin"
"C:/OpenSSL-Win32" "C:/OpenSSL-Win32"
@ -30,8 +35,8 @@ elseif("${CMAKE_GENERATOR_PLATFORM}" STREQUAL "Win32")
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 +49,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

2
vcpkg

@ -1 +1 @@
Subproject commit 79fa9d85cb4510b05c2657bd7ec8a6a2cb266dc5 Subproject commit c30de8e1369e03f4a569f8f224eed418dd0949bb