forked from pool/cmake
4aea471671
- FindOpenSSL: Detect OpenSSL 3.0.0 (bsc#1172267)
61d746e592
* add 0001-FindOpenSSL-Detect-OpenSSL-3.0.0.patch
OBS-URL: https://build.opensuse.org/request/show/810134
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/cmake?expand=0&rev=412
41 lines
1.6 KiB
Diff
41 lines
1.6 KiB
Diff
From 61d746e5922de50310558364f157b261f3e7917a Mon Sep 17 00:00:00 2001
|
|
From: Vitezslav Cizek <vcizek@suse.com>
|
|
Date: Wed, 27 May 2020 14:52:17 +0200
|
|
Subject: [PATCH] FindOpenSSL: Detect OpenSSL 3.0.0
|
|
|
|
The OpenSSL versioning is changing with the upcoming 3.0.0 release.
|
|
https://www.openssl.org/blog/blog/2018/11/28/version/
|
|
Since 3.0.0, the patch letters are being dropped. The new format is:
|
|
MAJOR.MINOR.PATCH
|
|
|
|
The OPENSSL_VERSION variable can now be directly derived from the new
|
|
OPENSSL_VERSION_STR macro.
|
|
https://www.openssl.org/docs/manmaster/man3/OPENSSL_VERSION_NUMBER.html
|
|
---
|
|
Modules/FindOpenSSL.cmake | 9 +++++++++
|
|
1 file changed, 9 insertions(+)
|
|
|
|
diff --git a/Modules/FindOpenSSL.cmake b/Modules/FindOpenSSL.cmake
|
|
index af713d6a84..45b641ddef 100644
|
|
--- a/Modules/FindOpenSSL.cmake
|
|
+++ b/Modules/FindOpenSSL.cmake
|
|
@@ -415,6 +415,15 @@ if(OPENSSL_INCLUDE_DIR AND EXISTS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h")
|
|
endif ()
|
|
|
|
set(OPENSSL_VERSION "${OPENSSL_VERSION_MAJOR}.${OPENSSL_VERSION_MINOR}.${OPENSSL_VERSION_FIX}${OPENSSL_VERSION_PATCH_STRING}")
|
|
+ else ()
|
|
+ # Since OpenSSL 3.0.0, the new version format is MAJOR.MINOR.PATCH and
|
|
+ # a new OPENSSL_VERSION_STR macro contains exactly that
|
|
+ file(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" OPENSSL_VERSION_STR
|
|
+ REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_STR[\t ]+\"([0-9])+\.([0-9])+\.([0-9])+\".*")
|
|
+ string(REGEX REPLACE "^.*OPENSSL_VERSION_STR[\t ]+\"([0-9]+\.[0-9]+\.[0-9]+)\".*$"
|
|
+ "\\1" OPENSSL_VERSION_STR "${OPENSSL_VERSION_STR}")
|
|
+
|
|
+ set(OPENSSL_VERSION "${OPENSSL_VERSION_STR}")
|
|
endif ()
|
|
endif ()
|
|
|
|
--
|
|
2.26.2
|
|
|