CRYPTO only requires mbedtls and OpenSSL, but when ENABLE_BINARY_BUILD is enabled, CRYPTO is validated using Openssl.
set(CRYPTO ${CRYPTO} CACHE STRING "Choose the crypto of build: mbedtls openssl" FORCE)
...
if(CRYPTO STREQUAL "mbedtls")
message("CRYPTO = mbedtls")
elseif(CRYPTO STREQUAL "openssl")
message("CRYPTO = openssl")
else()
message(FATAL_ERROR "Unkown CRYPTO")
endif()
...
if(ENABLE_BINARY_BUILD STREQUAL "1")
if(NOT CRYPTO STREQUAL "Openssl")
message(FATAL_ERROR "enabling binary build not supported for non-Openssl")
endif()
.....