|
|
@@ -4,6 +4,16 @@
|
|
|
#
|
|
|
# Find the OpenSSL encryption library.
|
|
|
#
|
|
|
+# Imported Targets
|
|
|
+# ^^^^^^^^^^^^^^^^
|
|
|
+#
|
|
|
+# This module defines the following :prop_tgt:`IMPORTED` targets:
|
|
|
+#
|
|
|
+# ``OpenSSL::SSL``
|
|
|
+# The OpenSSL ``ssl`` library, if found.
|
|
|
+# ``OpenSSL::Crypto``
|
|
|
+# The OpenSSL ``crypto`` library, if found.
|
|
|
+#
|
|
|
# Result Variables
|
|
|
# ^^^^^^^^^^^^^^^^
|
|
|
#
|
|
|
@@ -341,3 +351,66 @@ else ()
|
|
|
endif ()
|
|
|
|
|
|
mark_as_advanced(OPENSSL_INCLUDE_DIR OPENSSL_LIBRARIES)
|
|
|
+
|
|
|
+if(OPENSSL_FOUND)
|
|
|
+ if(NOT TARGET OpenSSL::Crypto AND
|
|
|
+ (EXISTS "${OPENSSL_CRYPTO_LIBRARY}" OR
|
|
|
+ EXISTS "${LIB_EAY_LIBRARY_DEBUG}" OR
|
|
|
+ EXISTS "${LIB_EAY_LIBRARY_RELEASE}")
|
|
|
+ )
|
|
|
+ add_library(OpenSSL::Crypto UNKNOWN IMPORTED)
|
|
|
+ set_target_properties(OpenSSL::Crypto PROPERTIES
|
|
|
+ INTERFACE_INCLUDE_DIRECTORIES "${OPENSSL_INCLUDE_DIR}")
|
|
|
+ if(EXISTS "${OPENSSL_CRYPTO_LIBRARY}")
|
|
|
+ set_target_properties(OpenSSL::Crypto PROPERTIES
|
|
|
+ IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
|
|
+ IMPORTED_LOCATION "${OPENSSL_CRYPTO_LIBRARY}")
|
|
|
+ endif()
|
|
|
+ if(EXISTS "${LIB_EAY_LIBRARY_DEBUG}")
|
|
|
+ set_property(TARGET OpenSSL::Crypto APPEND PROPERTY
|
|
|
+ IMPORTED_CONFIGURATIONS DEBUG)
|
|
|
+ set_target_properties(OpenSSL::Crypto PROPERTIES
|
|
|
+ IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
|
|
|
+ IMPORTED_LOCATION_DEBUG "${LIB_EAY_LIBRARY_DEBUG}")
|
|
|
+ endif()
|
|
|
+ if(EXISTS "${LIB_EAY_LIBRARY_RELEASE}")
|
|
|
+ set_property(TARGET OpenSSL::Crypto APPEND PROPERTY
|
|
|
+ IMPORTED_CONFIGURATIONS RELEASE)
|
|
|
+ set_target_properties(OpenSSL::Crypto PROPERTIES
|
|
|
+ IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C"
|
|
|
+ IMPORTED_LOCATION_RELEASE "${LIB_EAY_LIBRARY_RELEASE}")
|
|
|
+ endif()
|
|
|
+ endif()
|
|
|
+ if(NOT TARGET OpenSSL::SSL AND
|
|
|
+ (EXISTS "${OPENSSL_SSL_LIBRARY}" OR
|
|
|
+ EXISTS "${SSL_EAY_LIBRARY_DEBUG}" OR
|
|
|
+ EXISTS "${SSL_EAY_LIBRARY_RELEASE}")
|
|
|
+ )
|
|
|
+ add_library(OpenSSL::SSL UNKNOWN IMPORTED)
|
|
|
+ set_target_properties(OpenSSL::SSL PROPERTIES
|
|
|
+ INTERFACE_INCLUDE_DIRECTORIES "${OPENSSL_INCLUDE_DIR}")
|
|
|
+ if(EXISTS "${OPENSSL_SSL_LIBRARY}")
|
|
|
+ set_target_properties(OpenSSL::SSL PROPERTIES
|
|
|
+ IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
|
|
+ IMPORTED_LOCATION "${OPENSSL_SSL_LIBRARY}")
|
|
|
+ endif()
|
|
|
+ if(EXISTS "${SSL_EAY_LIBRARY_DEBUG}")
|
|
|
+ set_property(TARGET OpenSSL::SSL APPEND PROPERTY
|
|
|
+ IMPORTED_CONFIGURATIONS DEBUG)
|
|
|
+ set_target_properties(OpenSSL::SSL PROPERTIES
|
|
|
+ IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
|
|
|
+ IMPORTED_LOCATION_DEBUG "${SSL_EAY_LIBRARY_DEBUG}")
|
|
|
+ endif()
|
|
|
+ if(EXISTS "${SSL_EAY_LIBRARY_RELEASE}")
|
|
|
+ set_property(TARGET OpenSSL::SSL APPEND PROPERTY
|
|
|
+ IMPORTED_CONFIGURATIONS RELEASE)
|
|
|
+ set_target_properties(OpenSSL::SSL PROPERTIES
|
|
|
+ IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C"
|
|
|
+ IMPORTED_LOCATION_RELEASE "${SSL_EAY_LIBRARY_RELEASE}")
|
|
|
+ endif()
|
|
|
+ if(TARGET OpenSSL::Crypto)
|
|
|
+ set_target_properties(OpenSSL::SSL PROPERTIES
|
|
|
+ INTERFACE_LINK_LIBRARIES OpenSSL::Crypto)
|
|
|
+ endif()
|
|
|
+ endif()
|
|
|
+endif()
|