FindOpenSSL: Do not assume that the version regex finds something

BoringSSL's openslv.h does not have the version information.
This commit is contained in:
Vladimír Vondruš 2016-06-09 14:03:47 +02:00 committed by Brad King
parent 3969994758
commit e937b4c387
1 changed files with 4 additions and 4 deletions

View File

@ -328,11 +328,11 @@ function(from_hex HEX DEC)
set(${DEC} ${_res} PARENT_SCOPE) set(${DEC} ${_res} PARENT_SCOPE)
endfunction() endfunction()
if (OPENSSL_INCLUDE_DIR) if(OPENSSL_INCLUDE_DIR AND EXISTS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h")
if(OPENSSL_INCLUDE_DIR AND EXISTS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h") file(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" openssl_version_str
file(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" openssl_version_str REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*")
REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*")
if(openssl_version_str)
# The version number is encoded as 0xMNNFFPPS: major minor fix patch status # The version number is encoded as 0xMNNFFPPS: major minor fix patch status
# The status gives if this is a developer or prerelease and is ignored here. # The status gives if this is a developer or prerelease and is ignored here.
# Major, minor, and fix directly translate into the version numbers shown in # Major, minor, and fix directly translate into the version numbers shown in