[cmake] detect boringssl
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3af816d..1c2db83 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -120,6 +120,13 @@
     picotls-minicrypto picotls-core)
 
 FIND_PACKAGE(OpenSSL)
+
+# boringssl is essentially openssl with no version number but with base.h; if found, assume 1.1.1 API
+IF (OPENSSL_FOUND AND OPENSSL_VERSION STREQUAL "" AND EXISTS "${OPENSSL_INCLUDE_DIR}/openssl/base.h")
+    MESSAGE(STATUS "  BoringSSL found; assuming OpenSSL 1.1.1 compatibility")
+    SET(OPENSSL_VERSION "1.1.1")
+ENDIF ()
+
 IF (OPENSSL_FOUND AND NOT (OPENSSL_VERSION VERSION_LESS "1.0.1"))
     MESSAGE(STATUS "  Enabling OpenSSL support")
     INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR})