FindOpenSSL: cleanup path hints

-only use Windows-specific paths on Windows
-recode the contents of $ENV{PROGRAMFILES} to be a valid CMake path before
 using it
This commit is contained in:
Rolf Eike Beer 2012-07-29 17:02:00 +02:00
parent c78a7d11dd
commit fc798ed64f
1 changed files with 28 additions and 19 deletions

View File

@ -29,25 +29,34 @@ if (UNIX)
pkg_check_modules(_OPENSSL QUIET openssl) pkg_check_modules(_OPENSSL QUIET openssl)
endif (UNIX) endif (UNIX)
# http://www.slproweb.com/products/Win32OpenSSL.html IF (WIN32)
SET(_OPENSSL_ROOT_HINTS # http://www.slproweb.com/products/Win32OpenSSL.html
${OPENSSL_ROOT_DIR} SET(_OPENSSL_ROOT_HINTS
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;Inno Setup: App Path]" ${OPENSSL_ROOT_DIR}
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (64-bit)_is1;Inno Setup: App Path]" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;Inno Setup: App Path]"
ENV OPENSSL_ROOT_DIR "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (64-bit)_is1;Inno Setup: App Path]"
) ENV OPENSSL_ROOT_DIR
SET(_OPENSSL_ROOT_PATHS )
"$ENV{PROGRAMFILES}/OpenSSL" FILE(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _programfiles)
"$ENV{PROGRAMFILES}/OpenSSL-Win32" SET(_OPENSSL_ROOT_PATHS
"$ENV{PROGRAMFILES}/OpenSSL-Win64" "${_programfiles}/OpenSSL"
"C:/OpenSSL/" "${_programfiles}/OpenSSL-Win32"
"C:/OpenSSL-Win32/" "${_programfiles}/OpenSSL-Win64"
"C:/OpenSSL-Win64/" "C:/OpenSSL/"
) "C:/OpenSSL-Win32/"
SET(_OPENSSL_ROOT_HINTS_AND_PATHS "C:/OpenSSL-Win64/"
HINTS ${_OPENSSL_ROOT_HINTS} )
PATHS ${_OPENSSL_ROOT_PATHS} UNSET(_programfiles)
) SET(_OPENSSL_ROOT_HINTS_AND_PATHS
HINTS ${_OPENSSL_ROOT_HINTS}
PATHS ${_OPENSSL_ROOT_PATHS}
)
ELSE ()
SET(_OPENSSL_ROOT_HINTS
${OPENSSL_ROOT_DIR}
ENV OPENSSL_ROOT_DIR
)
ENDIF ()
FIND_PATH(OPENSSL_INCLUDE_DIR FIND_PATH(OPENSSL_INCLUDE_DIR
NAMES NAMES