|
|
|
|
|
|
|
|
|
|
|
set(CMAKE_IMPORT_FILE_VERSION 1) |
|
|
|
|
|
|
|
|
set(_ossl_expected_targets OpenSSL::Crypto OpenSSL::SSL |
|
|
) |
|
|
set(_ossl_defined_targets) |
|
|
set(_ossl_undefined_targets) |
|
|
foreach(t IN LISTS _ossl_expected_targets) |
|
|
if(TARGET "${t}") |
|
|
LIST(APPEND _ossl_defined_targets "${t}") |
|
|
else() |
|
|
LIST(APPEND _ossl_undefined_targets "${t}") |
|
|
endif() |
|
|
endforeach() |
|
|
message(DEBUG "_ossl_expected_targets = ${_ossl_expected_targets}") |
|
|
message(DEBUG "_ossl_defined_targets = ${_ossl_defined_targets}") |
|
|
message(DEBUG "_ossl_undefined_targets = ${_ossl_undefined_targets}") |
|
|
if(NOT _ossl_undefined_targets) |
|
|
|
|
|
unset(_ossl_expected_targets) |
|
|
unset(_ossl_defined_targets) |
|
|
unset(_ossl_undefined_targets) |
|
|
unset(CMAKE_IMPORT_FILE_VERSION) |
|
|
return() |
|
|
endif() |
|
|
if(_ossl_defined_targets) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
message(FATAL_ERROR "Some targets defined, others not:\nNot defined: ${_ossl_undefined_targets}\nDefined: ${_ossl_defined_targets}") |
|
|
endif() |
|
|
unset(_ossl_expected_targets) |
|
|
unset(_ossl_defined_targets) |
|
|
unset(_ossl_undefined_targets) |
|
|
|
|
|
|
|
|
|
|
|
get_filename_component(_ossl_prefix "${CMAKE_CURRENT_LIST_FILE}" PATH) |
|
|
get_filename_component(_ossl_prefix "${_ossl_prefix}" PATH) |
|
|
get_filename_component(_ossl_prefix "${_ossl_prefix}" PATH) |
|
|
get_filename_component(_ossl_prefix "${_ossl_prefix}" PATH) |
|
|
|
|
|
if(_ossl_prefix STREQUAL "/") |
|
|
set(_ossl_prefix "") |
|
|
endif() |
|
|
|
|
|
|
|
|
if(OPENSSL_USE_STATIC_LIBS) |
|
|
set(_ossl_use_static_libs True) |
|
|
elseif(DEFINED OPENSSL_USE_STATIC_LIBS) |
|
|
|
|
|
if(_ossl_use_static_libs) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
unset(_ossl_use_static_libs) |
|
|
unset(CMAKE_IMPORT_FILE_VERSION) |
|
|
return() |
|
|
endif() |
|
|
endif() |
|
|
|
|
|
|
|
|
set(OPENSSL_VERSION "${OpenSSL_VERSION}") |
|
|
set(OPENSSL_VERSION_MAJOR "${OpenSSL_VERSION_MAJOR}") |
|
|
set(OPENSSL_VERSION_MINOR "${OpenSSL_VERSION_MINOR}") |
|
|
set(OPENSSL_VERSION_FIX "${OpenSSL_VERSION_PATCH}") |
|
|
set(OPENSSL_FOUND YES) |
|
|
|
|
|
|
|
|
set(OPENSSL_LIBRARY_DIR "${_ossl_prefix}/lib") |
|
|
set(OPENSSL_INCLUDE_DIR "${_ossl_prefix}/include") |
|
|
set(OPENSSL_ENGINES_DIR "${_ossl_prefix}/lib/engines-3") |
|
|
set(OPENSSL_MODULES_DIR "${_ossl_prefix}/lib/ossl-modules") |
|
|
set(OPENSSL_RUNTIME_DIR "${_ossl_prefix}/bin") |
|
|
|
|
|
set(OPENSSL_PROGRAM "${OPENSSL_RUNTIME_DIR}/openssl") |
|
|
|
|
|
|
|
|
if(_ossl_use_static_libs) |
|
|
|
|
|
add_library(OpenSSL::Crypto STATIC IMPORTED) |
|
|
add_library(OpenSSL::SSL STATIC IMPORTED) |
|
|
|
|
|
set(OPENSSL_LIBCRYPTO_STATIC "${OPENSSL_LIBRARY_DIR}/libcrypto.a") |
|
|
set(OPENSSL_LIBCRYPTO_DEPENDENCIES -ldl -pthread) |
|
|
set_target_properties(OpenSSL::Crypto PROPERTIES |
|
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C" |
|
|
IMPORTED_LOCATION ${OPENSSL_LIBCRYPTO_STATIC}) |
|
|
set_property(TARGET OpenSSL::Crypto |
|
|
PROPERTY INTERFACE_LINK_LIBRARIES ${OPENSSL_LIBCRYPTO_DEPENDENCIES}) |
|
|
|
|
|
set(OPENSSL_LIBSSL_STATIC "${OPENSSL_LIBRARY_DIR}/libssl.a") |
|
|
set(OPENSSL_LIBSSL_DEPENDENCIES OpenSSL::Crypto) |
|
|
set_target_properties(OpenSSL::SSL PROPERTIES |
|
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C" |
|
|
IMPORTED_LOCATION ${OPENSSL_LIBSSL_STATIC}) |
|
|
set_property(TARGET OpenSSL::SSL |
|
|
PROPERTY INTERFACE_LINK_LIBRARIES ${OPENSSL_LIBSSL_DEPENDENCIES}) |
|
|
|
|
|
|
|
|
set(OPENSSL_CRYPTO_LIBRARY ${OPENSSL_LIBCRYPTO_STATIC}) |
|
|
set(OPENSSL_CRYPTO_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY} ${OPENSSL_LIBCRYPTO_DEPENDENCIES}) |
|
|
set(OPENSSL_SSL_LIBRARY ${OPENSSL_LIBSSL_STATIC}) |
|
|
set(OPENSSL_SSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_LIBSSL_DEPENDENCIES}) |
|
|
set(OPENSSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_LIBSSL_DEPENDENCIES} ${OPENSSL_LIBCRYPTO_DEPENDENCIES}) |
|
|
|
|
|
else() |
|
|
|
|
|
add_library(OpenSSL::Crypto SHARED IMPORTED) |
|
|
add_library(OpenSSL::SSL SHARED IMPORTED) |
|
|
|
|
|
|
|
|
set(OPENSSL_LIBCRYPTO_SHARED "${OPENSSL_LIBRARY_DIR}/libcrypto.so") |
|
|
set_target_properties(OpenSSL::Crypto PROPERTIES |
|
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C" |
|
|
IMPORTED_LOCATION ${OPENSSL_LIBCRYPTO_SHARED}) |
|
|
|
|
|
set(OPENSSL_LIBSSL_SHARED "${OPENSSL_LIBRARY_DIR}/libssl.so") |
|
|
set_target_properties(OpenSSL::SSL PROPERTIES |
|
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C" |
|
|
IMPORTED_LOCATION ${OPENSSL_LIBSSL_SHARED}) |
|
|
|
|
|
|
|
|
set(OPENSSL_CRYPTO_LIBRARY ${OPENSSL_LIBCRYPTO_SHARED}) |
|
|
set(OPENSSL_CRYPTO_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY}) |
|
|
set(OPENSSL_SSL_LIBRARY ${OPENSSL_LIBSSL_SHARED}) |
|
|
set(OPENSSL_SSL_LIBRARIES ${OPENSSL_SSL_LIBRARY}) |
|
|
set(OPENSSL_LIBRARIES ${OPENSSL_SSL_LIBRARIES}) |
|
|
|
|
|
|
|
|
endif() |
|
|
|
|
|
set_target_properties(OpenSSL::Crypto PROPERTIES |
|
|
INTERFACE_INCLUDE_DIRECTORIES "${OPENSSL_INCLUDE_DIR}") |
|
|
set_target_properties(OpenSSL::SSL PROPERTIES |
|
|
INTERFACE_INCLUDE_DIRECTORIES "${OPENSSL_INCLUDE_DIR}") |
|
|
|
|
|
|
|
|
|
|
|
unset(_ossl_prefix) |
|
|
unset(_ossl_use_static_libs) |
|
|
|