File tree Expand file tree Collapse file tree 1 file changed +19
-0
lines changed Expand file tree Collapse file tree 1 file changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -377,6 +377,25 @@ if(OPENSSL_INCLUDE_DIR AND EXISTS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h")
377377 endif ()
378378
379379 set (OPENSSL_VERSION "${OPENSSL_VERSION_MAJOR} .${OPENSSL_VERSION_MINOR} .${OPENSSL_VERSION_FIX}${OPENSSL_VERSION_PATCH_STRING} " )
380+ else ()
381+ # Since OpenSSL 3.0.0, the new version format is MAJOR.MINOR.PATCH and
382+ # a new OPENSSL_VERSION_STR macro contains exactly that
383+ file (STRINGS "${OPENSSL_INCLUDE_DIR} /openssl/opensslv.h" OPENSSL_VERSION_STR
384+ REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_STR[\t ]+\" ([0-9])+\\ .([0-9])+\\ .([0-9])+\" .*" )
385+ string (REGEX REPLACE "^.*OPENSSL_VERSION_STR[\t ]+\" ([0-9]+\\ .[0-9]+\\ .[0-9]+)\" .*$"
386+ "\\ 1" OPENSSL_VERSION_STR "${OPENSSL_VERSION_STR} " )
387+
388+ set (OPENSSL_VERSION "${OPENSSL_VERSION_STR} " )
389+
390+ # Setting OPENSSL_VERSION_MAJOR OPENSSL_VERSION_MINOR and OPENSSL_VERSION_FIX
391+ string (REGEX MATCHALL "([0-9])+" OPENSSL_VERSION_NUMBER "${OPENSSL_VERSION} " )
392+ list (POP_FRONT OPENSSL_VERSION_NUMBER
393+ OPENSSL_VERSION_MAJOR
394+ OPENSSL_VERSION_MINOR
395+ OPENSSL_VERSION_FIX)
396+
397+ unset (OPENSSL_VERSION_NUMBER)
398+ unset (OPENSSL_VERSION_STR)
380399 endif ()
381400endif ()
382401
You can’t perform that action at this time.
0 commit comments