diff options
Diffstat (limited to 'configure.cmake')
-rw-r--r-- | configure.cmake | 58 |
1 files changed, 56 insertions, 2 deletions
diff --git a/configure.cmake b/configure.cmake index 2213ce233c..72e331c01b 100644 --- a/configure.cmake +++ b/configure.cmake @@ -19,7 +19,55 @@ if(TARGET ZLIB::ZLIB) endif() qt_find_package(WrapOpenSSLHeaders PROVIDED_TARGETS WrapOpenSSLHeaders::WrapOpenSSLHeaders MODULE_NAME core) +# openssl_headers +# OPENSSL_VERSION_MAJOR is not defined for OpenSSL 1.1.1 +qt_config_compile_test(opensslv11_headers + LABEL "opensslv11_headers" + LIBRARIES + WrapOpenSSLHeaders::WrapOpenSSLHeaders + CODE +"#include <openssl/ssl.h> +#include <openssl/opensslv.h> +#if !defined(OPENSSL_VERSION_NUMBER) || defined(OPENSSL_VERSION_MAJOR) || OPENSSL_VERSION_NUMBER-0 < 0x10101000L +# error OpenSSL >= 1.1.1 is required +#endif +#if !defined(OPENSSL_NO_EC) && !defined(SSL_CTRL_SET_CURVES) +# error OpenSSL was reported as >= 1.1.1 but is missing required features, possibly it is libressl which is unsupported +#endif + +int main(void) +{ + /* BEGIN TEST: */ + /* END TEST: */ + return 0; +} +") + qt_find_package(WrapOpenSSL PROVIDED_TARGETS WrapOpenSSL::WrapOpenSSL MODULE_NAME core QMAKE_LIB openssl) +# openssl +# OPENSSL_VERSION_MAJOR is not defined for OpenSSL 1.1.1 +qt_config_compile_test(opensslv11 + LABEL "opensslv11" + LIBRARIES + WrapOpenSSL::WrapOpenSSL + CODE +"#include <openssl/ssl.h> +#include <openssl/opensslv.h> +#if !defined(OPENSSL_VERSION_NUMBER) || defined(OPENSSL_VERSION_MAJOR) || OPENSSL_VERSION_NUMBER-0 < 0x10101000L +# error OpenSSL >= 1.1.1 is required +#endif +#if !defined(OPENSSL_NO_EC) && !defined(SSL_CTRL_SET_CURVES) +# error OpenSSL was reported as >= 1.1.1 but is missing required features, possibly it is libressl which is unsupported +#endif + +int main(void) +{ + /* BEGIN TEST: */ +SSL_free(SSL_new(0)); + /* END TEST: */ + return 0; +} +") # opensslv30 # openssl_headers @@ -952,17 +1000,22 @@ qt_feature_definition("openssl" "QT_NO_OPENSSL" NEGATE) qt_feature_config("openssl" QMAKE_PUBLIC_QT_CONFIG) qt_feature("openssl-runtime" AUTODETECT NOT WASM - CONDITION TEST_opensslv30_headers + CONDITION TEST_opensslv11_headers OR TEST_opensslv30_headers ENABLE INPUT_openssl STREQUAL 'yes' OR INPUT_openssl STREQUAL 'runtime' DISABLE INPUT_openssl STREQUAL 'no' OR INPUT_openssl STREQUAL 'linked' OR INPUT_ssl STREQUAL 'no' ) qt_feature("openssl-linked" PUBLIC LABEL " Qt directly linked to OpenSSL" AUTODETECT OFF - CONDITION TEST_opensslv30 + CONDITION TEST_opensslv11 OR TEST_opensslv30 ENABLE INPUT_openssl STREQUAL 'linked' ) qt_feature_definition("openssl-linked" "QT_LINKED_OPENSSL") +qt_feature("opensslv11" PUBLIC + LABEL "OpenSSL 1.1" + CONDITION TEST_opensslv11 OR TEST_opensslv11_headers + DISABLE INPUT_openssl STREQUAL 'no' OR INPUT_ssl STREQUAL 'no' +) qt_feature("opensslv30" PUBLIC LABEL "OpenSSL 3.0" CONDITION TEST_opensslv30 OR TEST_opensslv30_headers @@ -1148,6 +1201,7 @@ qt_configure_add_summary_entry(ARGS "Using vcpkg" TYPE "message" MESSAGE "${_vcp qt_configure_add_summary_entry(ARGS "libudev") qt_configure_add_summary_entry(ARGS "openssl") qt_configure_add_summary_entry(ARGS "openssl-linked") +qt_configure_add_summary_entry(ARGS "opensslv11") qt_configure_add_summary_entry(ARGS "opensslv30") qt_configure_add_summary_entry(ARGS "system-zlib") qt_configure_add_summary_entry(ARGS "zstd") |