message: Don't download BoringSSL or search for OpenSSL if target crypto is already defined
  Without this projects including Tink as a subdirectory that already define a `crypto` target will fail to build.
  This is useful when building Tink alongside other libraries that define some `crypto` target.
diff: @@ -89,6 +89,9 @@ http_archive(
  # Paths are hard-coded in tests, which expects wycheproof/ in this location.
  add_directory_alias("${wycheproof_SOURCE_DIR}" "${CMAKE_BINARY_DIR}/external/wycheproof")
  +# Don't fetch BoringSSL or look for OpenSSL if target `crypto` is already
  +# defined.
  +if (NOT TARGET crypto)
  if (NOT TINK_USE_SYSTEM_OPENSSL)
  # Commit from Sep 14, 2022.
  http_archive(
  @@ -97,7 +100,6 @@ if (NOT TINK_USE_SYSTEM_OPENSSL)
  SHA256 482796f369c8655dbda3be801ae98c47916ecd3bff223d007a723fd5f5ecba22
  CMAKE_SUBDIR src
  )
  -
  # BoringSSL targets do not carry include directory info, this fixes it.
  target_include_directories(crypto PUBLIC
  "$<BUILD_INTERFACE:${boringssl_SOURCE_DIR}/src/include>")
  @@ -106,6 +108,11 @@ else()
  find_package(OpenSSL 1.1.1 REQUIRED)
  _create_interface_target(crypto OpenSSL::Crypto)
  endif()
  +else()
  + message(STATUS "Using an already declared `crypto` target")
  + get_target_property(crypto_INCLUDE_DIR crypto INTERFACE_INCLUDE_DIRECTORIES)
  + message(STATUS "crypto Include Dir: ${crypto_INCLUDE_DIR}")
  +endif()
  set(RAPIDJSON_BUILD_DOC OFF CACHE BOOL "Tink dependency override" FORCE)
  set(RAPIDJSON_BUILD_EXAMPLES OFF CACHE BOOL "Tink dependency override" FORCE)
  