12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- cmake_policy(PUSH)
- cmake_policy(SET CMP0012 NEW)
- cmake_policy(SET CMP0054 NEW)
- cmake_policy(SET CMP0057 NEW)
- set(OPENSSL_VERSION_MAJOR 3)
- set(OPENSSL_VERSION_MINOR 0)
- set(OPENSSL_VERSION_FIX 5)
- if(OPENSSL_USE_STATIC_LIBS)
- if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "dynamic")
- message(WARNING "OPENSSL_USE_STATIC_LIBS is set, but vcpkg port openssl was built with dynamic linkage")
- endif()
- set(OPENSSL_USE_STATIC_LIBS_BAK "${OPENSSL_USE_STATIC_LIBS}")
- set(OPENSSL_USE_STATIC_LIBS FALSE)
- endif()
- if(DEFINED OPENSSL_ROOT_DIR)
- set(OPENSSL_ROOT_DIR_BAK "${OPENSSL_ROOT_DIR}")
- endif()
- get_filename_component(OPENSSL_ROOT_DIR "${CMAKE_CURRENT_LIST_DIR}" DIRECTORY)
- get_filename_component(OPENSSL_ROOT_DIR "${OPENSSL_ROOT_DIR}" DIRECTORY)
- find_path(OPENSSL_INCLUDE_DIR NAMES openssl/ssl.h PATH "${OPENSSL_ROOT_DIR}/include" NO_DEFAULT_PATH)
- if(MSVC)
- find_library(LIB_EAY_DEBUG NAMES libcrypto PATHS "${OPENSSL_ROOT_DIR}/debug/lib" NO_DEFAULT_PATH)
- find_library(LIB_EAY_RELEASE NAMES libcrypto PATHS "${OPENSSL_ROOT_DIR}/lib" NO_DEFAULT_PATH)
- find_library(SSL_EAY_DEBUG NAMES libssl PATHS "${OPENSSL_ROOT_DIR}/debug/lib" NO_DEFAULT_PATH)
- find_library(SSL_EAY_RELEASE NAMES libssl PATHS "${OPENSSL_ROOT_DIR}/lib" NO_DEFAULT_PATH)
- elseif(WIN32)
- find_library(LIB_EAY NAMES libcrypto crypto NAMES_PER_DIR)
- find_library(SSL_EAY NAMES libssl ssl NAMES_PER_DIR)
- else()
- find_library(OPENSSL_CRYPTO_LIBRARY NAMES crypto)
- find_library(OPENSSL_SSL_LIBRARY NAMES ssl)
- endif()
- _find_package(${ARGS})
- unset(OPENSSL_ROOT_DIR)
- if(DEFINED OPENSSL_ROOT_DIR_BAK)
- set(OPENSSL_ROOT_DIR "${OPENSSL_ROOT_DIR_BAK}")
- unset(OPENSSL_ROOT_DIR_BAK)
- endif()
- if(DEFINED OPENSSL_USE_STATIC_LIBS_BAK)
- set(OPENSSL_USE_STATIC_LIBS "${OPENSSL_USE_STATIC_LIBS_BAK}")
- unset(OPENSSL_USE_STATIC_LIBS_BAK)
- endif()
- if(OPENSSL_FOUND AND "@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static")
- if(WIN32)
- list(APPEND OPENSSL_LIBRARIES crypt32 ws2_32)
- if(TARGET OpenSSL::Crypto)
- set_property(TARGET OpenSSL::Crypto APPEND PROPERTY INTERFACE_LINK_LIBRARIES "crypt32;ws2_32")
- endif()
- if(TARGET OpenSSL::SSL)
- set_property(TARGET OpenSSL::SSL APPEND PROPERTY INTERFACE_LINK_LIBRARIES "crypt32;ws2_32")
- endif()
- else()
- find_library(OPENSSL_DL_LIBRARY NAMES dl)
- if(OPENSSL_DL_LIBRARY)
- list(APPEND OPENSSL_LIBRARIES "dl")
- if(TARGET OpenSSL::Crypto)
- set_property(TARGET OpenSSL::Crypto APPEND PROPERTY INTERFACE_LINK_LIBRARIES "dl")
- endif()
- endif()
- if("REQUIRED" IN_LIST ARGS)
- find_package(Threads REQUIRED)
- else()
- find_package(Threads)
- endif()
- list(APPEND OPENSSL_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
- if(TARGET OpenSSL::Crypto)
- set_property(TARGET OpenSSL::Crypto APPEND PROPERTY INTERFACE_LINK_LIBRARIES "Threads::Threads")
- endif()
- if(TARGET OpenSSL::SSL)
- set_property(TARGET OpenSSL::SSL APPEND PROPERTY INTERFACE_LINK_LIBRARIES "Threads::Threads")
- endif()
- endif()
- endif()
- cmake_policy(POP)
|