To fix building tests/server with cmake and both wolfSSL and OpenSSL
enabled (MultiSSL).
tests/server do not have libcurl dependency header paths setup because
it does not use libcurl. The code however includes `curl_setup.h`, which
tried including `wolfssl/version.h` before this patch to verify if the
wolfSSL coexist feature is available. Without a header path, it failed:
```
In file included from bld/tests/server/servers.c:3:
In file included from tests/server/first.h:40:
lib/curl_setup.h:737:12: fatal error: 'wolfssl/version.h' file not found
737 | # include <wolfssl/version.h>
| ^~~~~~~~~~~~~~~~~~~
1 error generated.
```
Ref: https://github.com/curl/curl/actions/runs/
22410066319/job/
64880787424#step:46:76
Fix by moving the include and version check to `vtls/wolfssl.c`.
Also: add an early version check to cmake.
Follow-up to
16f073ef49f94412000218c9f6ad04e3fd7e4d01 #16973
Cherry-picked from #20720
Closes #20726
endif()
set(_curl_ca_bundle_supported TRUE)
+ if(USE_OPENSSL AND WOLFSSL_VERSION VERSION_LESS 5.7.6)
+ message(FATAL_ERROR "wolfSSL 5.7.6 or newer is required to coexist with OpenSSL.")
+ endif()
+
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS "WOLFSSL_OPTIONS_IGNORE_SYS")
endif()
#endif
#if defined(USE_OPENSSL) && defined(USE_WOLFSSL)
-# include <wolfssl/version.h>
-# if LIBWOLFSSL_VERSION_HEX >= 0x05007006
-# ifndef OPENSSL_COEXIST
-# define OPENSSL_COEXIST
-# endif
-# else
-# error "OpenSSL can only coexist with wolfSSL v5.7.6 or upper"
-# endif
+#ifndef OPENSSL_COEXIST
+#define OPENSSL_COEXIST
+#endif
#endif
#if defined(USE_WOLFSSL) && defined(USE_GNUTLS)
#if LIBWOLFSSL_VERSION_HEX < 0x03004006 /* wolfSSL 3.4.6 (2015) */
#error "wolfSSL version should be at least 3.4.6"
#endif
+#if defined(OPENSSL_COEXIST) && LIBWOLFSSL_VERSION_HEX < 0x05007006
+#error "wolfSSL 5.7.6 or newer is required to coexist with OpenSSL"
+#endif
/* To determine what functions are available we rely on one or both of:
- the user's options.h generated by wolfSSL