Daniel Thornburgh | 2fc6d38 | 2022-04-04 11:23:56 -0700 | [diff] [blame] | 1 | include(${CMAKE_CURRENT_LIST_DIR}/OpenSSLTargets.cmake) |
| 2 | |
| 3 | # Recursively collect dependency locations for the imported targets. |
| 4 | macro(_openssl_config_libraries libraries target) |
| 5 | get_property(_DEPS TARGET ${target} PROPERTY INTERFACE_LINK_LIBRARIES) |
| 6 | foreach(_DEP ${_DEPS}) |
| 7 | if(TARGET ${_DEP}) |
| 8 | _openssl_config_libraries(${libraries} ${_DEP}) |
| 9 | else() |
| 10 | list(APPEND ${libraries} ${_DEP}) |
| 11 | endif() |
| 12 | endforeach() |
| 13 | get_property(_LOC TARGET ${target} PROPERTY LOCATION) |
| 14 | list(APPEND ${libraries} ${_LOC}) |
| 15 | endmacro() |
| 16 | |
| 17 | set(OPENSSL_FOUND YES) |
| 18 | get_property(OPENSSL_INCLUDE_DIR TARGET OpenSSL::SSL PROPERTY INTERFACE_INCLUDE_DIRECTORIES) |
| 19 | get_property(OPENSSL_CRYPTO_LIBRARY TARGET OpenSSL::Crypto PROPERTY LOCATION) |
| 20 | _openssl_config_libraries(OPENSSL_CRYPTO_LIBRARIES OpenSSL::Crypto) |
| 21 | list(REMOVE_DUPLICATES OPENSSL_CRYPTO_LIBRARIES) |
| 22 | |
| 23 | get_property(OPENSSL_SSL_LIBRARY TARGET OpenSSL::Crypto PROPERTY LOCATION) |
| 24 | _openssl_config_libraries(OPENSSL_SSL_LIBRARIES OpenSSL::SSL) |
| 25 | list(REMOVE_DUPLICATES OPENSSL_SSL_LIBRARIES) |
| 26 | |
| 27 | set(OPENSSL_LIBRARIES ${OPENSSL_CRYPTO_LIBRARIES} ${OPENSSL_SSL_LIBRARIES}) |
| 28 | list(REMOVE_DUPLICATES OPENSSL_LIBRARIES) |
| 29 | |
| 30 | set(_DEP) |
| 31 | set(_DEPS) |
| 32 | set(_LOC) |