This creates an install directory under the top level source directory. The install contains a CMake config file that produces variables and targets compatible with FindOpenSSL, or the directory can be scanned by FindOpenSSL via -DOPEN_SSL_ROOT. This allows using BoringSSL with third-party dependencies that find an SSL implementation via CMake. Change-Id: Iffeac64b9cced027d549486c98a6cd9721415454 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/52205 Reviewed-by: Adam Langley <agl@google.com> Commit-Queue: Adam Langley <agl@google.com>fips-20220613
parent
fa3fbda07b
commit
2fc6d38391
6 changed files with 63 additions and 0 deletions
@ -0,0 +1,32 @@ |
||||
include(${CMAKE_CURRENT_LIST_DIR}/OpenSSLTargets.cmake) |
||||
|
||||
# Recursively collect dependency locations for the imported targets. |
||||
macro(_openssl_config_libraries libraries target) |
||||
get_property(_DEPS TARGET ${target} PROPERTY INTERFACE_LINK_LIBRARIES) |
||||
foreach(_DEP ${_DEPS}) |
||||
if(TARGET ${_DEP}) |
||||
_openssl_config_libraries(${libraries} ${_DEP}) |
||||
else() |
||||
list(APPEND ${libraries} ${_DEP}) |
||||
endif() |
||||
endforeach() |
||||
get_property(_LOC TARGET ${target} PROPERTY LOCATION) |
||||
list(APPEND ${libraries} ${_LOC}) |
||||
endmacro() |
||||
|
||||
set(OPENSSL_FOUND YES) |
||||
get_property(OPENSSL_INCLUDE_DIR TARGET OpenSSL::SSL PROPERTY INTERFACE_INCLUDE_DIRECTORIES) |
||||
get_property(OPENSSL_CRYPTO_LIBRARY TARGET OpenSSL::Crypto PROPERTY LOCATION) |
||||
_openssl_config_libraries(OPENSSL_CRYPTO_LIBRARIES OpenSSL::Crypto) |
||||
list(REMOVE_DUPLICATES OPENSSL_CRYPTO_LIBRARIES) |
||||
|
||||
get_property(OPENSSL_SSL_LIBRARY TARGET OpenSSL::Crypto PROPERTY LOCATION) |
||||
_openssl_config_libraries(OPENSSL_SSL_LIBRARIES OpenSSL::SSL) |
||||
list(REMOVE_DUPLICATES OPENSSL_SSL_LIBRARIES) |
||||
|
||||
set(OPENSSL_LIBRARIES ${OPENSSL_CRYPTO_LIBRARIES} ${OPENSSL_SSL_LIBRARIES}) |
||||
list(REMOVE_DUPLICATES OPENSSL_LIBRARIES) |
||||
|
||||
set(_DEP) |
||||
set(_DEPS) |
||||
set(_LOC) |
Loading…
Reference in new issue