Fix openssl detection on win64
This commit is contained in:
parent
e81a6d497b
commit
204f351a61
1 changed files with 32 additions and 16 deletions
|
@ -5,22 +5,37 @@ if (WIN32)
|
||||||
# Get standard installation paths for OpenSSL under Windows
|
# Get standard installation paths for OpenSSL under Windows
|
||||||
|
|
||||||
# http://www.slproweb.com/products/Win32OpenSSL.html
|
# http://www.slproweb.com/products/Win32OpenSSL.html
|
||||||
set(_OPENSSL_ROOT_HINTS
|
|
||||||
${OPENSSL_ROOT_DIR}
|
if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
|
||||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;Inno Setup: App Path]"
|
# target win64
|
||||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (64-bit)_is1;Inno Setup: App Path]"
|
set(_OPENSSL_ROOT_HINTS
|
||||||
ENV OPENSSL_ROOT_DIR
|
${OPENSSL_ROOT_DIR}
|
||||||
)
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (64-bit)_is1;Inno Setup: App Path]"
|
||||||
file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _programfiles)
|
ENV OPENSSL_ROOT_DIR
|
||||||
set(_OPENSSL_ROOT_PATHS
|
)
|
||||||
"${_programfiles}/OpenSSL"
|
file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _programfiles)
|
||||||
"${_programfiles}/OpenSSL-Win32"
|
set(_OPENSSL_ROOT_PATHS
|
||||||
"${_programfiles}/OpenSSL-Win64"
|
"${_programfiles}/OpenSSL-Win64"
|
||||||
"C:/OpenSSL/"
|
"C:/OpenSSL-Win64/"
|
||||||
"C:/OpenSSL-Win32/"
|
)
|
||||||
"C:/OpenSSL-Win64/"
|
unset(_programfiles)
|
||||||
)
|
else( CMAKE_SIZEOF_VOID_P EQUAL 8 )
|
||||||
unset(_programfiles)
|
# target win32
|
||||||
|
set(_OPENSSL_ROOT_HINTS
|
||||||
|
${OPENSSL_ROOT_DIR}
|
||||||
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;Inno Setup: App Path]"
|
||||||
|
ENV OPENSSL_ROOT_DIR
|
||||||
|
)
|
||||||
|
file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _programfiles)
|
||||||
|
set(_OPENSSL_ROOT_PATHS
|
||||||
|
"${_programfiles}/OpenSSL"
|
||||||
|
"${_programfiles}/OpenSSL-Win32"
|
||||||
|
"C:/OpenSSL/"
|
||||||
|
"C:/OpenSSL-Win32/"
|
||||||
|
)
|
||||||
|
unset(_programfiles)
|
||||||
|
endif( CMAKE_SIZEOF_VOID_P EQUAL 8 )
|
||||||
|
|
||||||
else ()
|
else ()
|
||||||
set(_OPENSSL_ROOT_HINTS
|
set(_OPENSSL_ROOT_HINTS
|
||||||
${OPENSSL_ROOT_DIR}
|
${OPENSSL_ROOT_DIR}
|
||||||
|
@ -33,6 +48,7 @@ set(_OPENSSL_ROOT_HINTS_AND_PATHS
|
||||||
PATHS ${_OPENSSL_ROOT_PATHS}
|
PATHS ${_OPENSSL_ROOT_PATHS}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Even if the dll is 64bit, it's still suffixed as *32.dll
|
||||||
FIND_FILE(WIN32SSLRUNTIME_LIBEAY NAMES libeay32.dll ${_OPENSSL_ROOT_HINTS_AND_PATHS})
|
FIND_FILE(WIN32SSLRUNTIME_LIBEAY NAMES libeay32.dll ${_OPENSSL_ROOT_HINTS_AND_PATHS})
|
||||||
FIND_FILE(WIN32SSLRUNTIME_SSLEAY NAMES ssleay32.dll ${_OPENSSL_ROOT_HINTS_AND_PATHS})
|
FIND_FILE(WIN32SSLRUNTIME_SSLEAY NAMES ssleay32.dll ${_OPENSSL_ROOT_HINTS_AND_PATHS})
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue