Skip to content

Instantly share code, notes, and snippets.

@mdcallag
Created January 18, 2023 23:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mdcallag/e3f888ccee6446c5c218b442ef8cbcd4 to your computer and use it in GitHub Desktop.
Save mdcallag/e3f888ccee6446c5c218b442ef8cbcd4 to your computer and use it in GitHub Desktop.
--- x/mysql-8.0.28/cmake/ssl.cmake 2021-12-17 16:07:27.000000000 +0000
+++ mysql-8.0.28/cmake/ssl.cmake 2023-01-18 23:36:14.093761566 +0000
@@ -206,33 +206,69 @@
HINTS ${OPENSSL_ROOT_DIR}/lib)
IF(OPENSSL_INCLUDE_DIR)
- # Verify version number. Version information looks like:
- # #define OPENSSL_VERSION_NUMBER 0x1000103fL
- # Encoded as MNNFFPPS: major minor fix patch status
- FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
- OPENSSL_VERSION_NUMBER
- REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
- )
- STRING(REGEX REPLACE
- "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1"
- OPENSSL_MAJOR_VERSION "${OPENSSL_VERSION_NUMBER}"
+ MESSAGE(STATUS "OPENSSL_INCLUDE_DIR set, parse versions from ${OPENSSL_INCLUDE_DIR}/openssl/openslv.h")
+
+ FOREACH(version_part
+ OPENSSL_VERSION_MAJOR
+ OPENSSL_VERSION_MINOR
+ OPENSSL_VERSION_PATCH
+ )
+ FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" ${version_part}
+ REGEX "^#[\t ]*define[\t ]+${version_part}[\t ]+([0-9]+).*")
+ STRING(REGEX REPLACE
+ "^.*${version_part}[\t ]+([0-9]+).*" "\\1"
+ ${version_part} "${${version_part}}")
+ ENDFOREACH()
+
+ SET(OPENSSL_MAJOR_VERSION "${OPENSSL_VERSION_MAJOR}")
+ SET(OPENSSL_MINOR_VERSION "${OPENSSL_VERSION_MINOR}")
+ SET(OPENSSL_FIX_VERSION "${OPENSSL_VERSION_PATCH}")
+
+ IF(OPENSSL_MAJOR_VERSION VERSION_EQUAL 3)
+ # OpenSSL 3
+ #SET(OPENSSL_FIX_VERSION "${OPENSSL_FIX_VERSION}")
+ MESSAGE(STATUS "v3 path :: ${OPENSSL_MAJOR_VERSION} ::")
+ ELSE()
+ MESSAGE(STATUS "not v3 path :: ${OPENSSL_MAJOR_VERSION} ::")
+ # Verify version number. Version information looks like:
+ # #define OPENSSL_VERSION_NUMBER 0x1000103fL
+ # Encoded as MNNFFPPS: major minor fix patch status
+ FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
+ OPENSSL_VERSION_NUMBER
+ REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
+ )
+ STRING(REGEX REPLACE
+ "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1"
+ OPENSSL_MAJOR_VERSION "${OPENSSL_VERSION_NUMBER}"
)
- STRING(REGEX REPLACE
- "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9]([0-9][0-9]).*$" "\\1"
- OPENSSL_MINOR_VERSION "${OPENSSL_VERSION_NUMBER}"
+ STRING(REGEX REPLACE
+ "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9]([0-9][0-9]).*$" "\\1"
+ OPENSSL_MINOR_VERSION "${OPENSSL_VERSION_NUMBER}"
)
- STRING(REGEX REPLACE
- "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9][0-9][0-9]([0-9][0-9]).*$" "\\1"
- OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
+ STRING(REGEX REPLACE
+ "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9][0-9][0-9]([0-9][0-9]).*$" "\\1"
+ OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
)
+ ENDIF()
+ SET(OPENSSL_MAJOR_MINOR_FIX_VERSION "${OPENSSL_MAJOR_VERSION}")
+ STRING_APPEND(OPENSSL_MAJOR_MINOR_FIX_VERSION ".${OPENSSL_MINOR_VERSION}")
+ STRING_APPEND(OPENSSL_MAJOR_MINOR_FIX_VERSION ".${OPENSSL_FIX_VERSION}")
+ MESSAGE(STATUS
+ "OPENSSL_VERSION (${WITH_SSL}) is ${OPENSSL_MAJOR_MINOR_FIX_VERSION}")
+
ENDIF()
+
IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
ADD_DEFINITIONS(-DHAVE_TLSv13)
ENDIF()
+
+ MESSAGE(STATUS "OPENSSL_MAJOR_VERSION ${OPENSSL_MAJOR_VERSION}")
+ MESSAGE(STATUS "OPENSSL_MINOR_VERSION ${OPENSSL_MINOR_VERSION}")
+ MESSAGE(STATUS "OPENSSL_FIX_VERSION ${OPENSSL_FIX_VERSION}")
+
IF(OPENSSL_INCLUDE_DIR AND
OPENSSL_LIBRARY AND
- CRYPTO_LIBRARY AND
- OPENSSL_MAJOR_VERSION STREQUAL "1"
+ CRYPTO_LIBRARY
)
SET(OPENSSL_FOUND TRUE)
FIND_PROGRAM(OPENSSL_EXECUTABLE openssl
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment