diff options
Diffstat (limited to 'indra/cmake/OpenSSL.cmake')
| -rw-r--r-- | indra/cmake/OpenSSL.cmake | 41 |
1 files changed, 27 insertions, 14 deletions
diff --git a/indra/cmake/OpenSSL.cmake b/indra/cmake/OpenSSL.cmake index 8b9c737325..54f989d611 100644 --- a/indra/cmake/OpenSSL.cmake +++ b/indra/cmake/OpenSSL.cmake @@ -5,11 +5,25 @@ include(Linking) include_guard() add_library( ll::openssl INTERFACE IMPORTED ) -if (NOT USESYSTEMLIBS) +if ($ENV{MSYSTEM_CARCH} MATCHES aarch64) use_system_binary(openssl) -endif (NOT USESYSTEMLIBS) -if (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR DARWIN OR NOT USESYSTEMLIBS) +elseif (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR DARWIN OR WINDOWS) use_prebuilt_binary(openssl) + +find_library(SSL_LIBRARY + NAMES + libssl.lib + libssl.a + PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH) + +find_library(CRYPTO_LIBRARY + NAMES + libcrypto.lib + libcrypto.a + PATHS "${ARCH_PREBUILT_DIRS_RELEASE}" REQUIRED NO_DEFAULT_PATH) + +target_link_libraries(ll::openssl INTERFACE ${SSL_LIBRARY} ${CRYPTO_LIBRARY}) + if (DARWIN) execute_process( COMMAND lipo -archs libcrypto.a @@ -25,7 +39,7 @@ use_prebuilt_binary(openssl) -output libcrypto.a WORKING_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE} ) - endif (NOT ${crypto_archs} STREQUAL ${CMAKE_OSX_ARCHITECTURES}) + endif () execute_process( COMMAND lipo -archs libssl.a WORKING_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE} @@ -40,8 +54,8 @@ use_prebuilt_binary(openssl) -output libssl.a WORKING_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE} ) - endif (NOT ${ssl_archs} STREQUAL ${CMAKE_OSX_ARCHITECTURES}) - endif (DARWIN) + endif () + endif () elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/openssl_installed OR NOT ${openssl_installed} EQUAL 0) if (NOT EXISTS ${CMAKE_BINARY_DIR}/OpenSSL_1_1_1w.tar.gz) file(DOWNLOAD @@ -67,15 +81,14 @@ elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRA RESULT_VARIABLE openssl_installed ) file(WRITE ${PREBUILD_TRACKING_DIR}/openssl_installed "${openssl_installed}") -endif (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR DARWIN OR NOT USESYSTEMLIBS) -if (WINDOWS AND NOT USESYSTEMLIBS) - target_link_libraries(ll::openssl INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE}/libssl.lib ${ARCH_PREBUILT_DIRS_RELEASE}/libcrypto.lib Crypt32.lib) +endif () +if (WINDOWS) + target_link_libraries(ll::openssl INTERFACE Crypt32.lib) elseif (LINUX) target_link_libraries(ll::openssl INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE}/libssl.a ${ARCH_PREBUILT_DIRS_RELEASE}/libcrypto.a dl) -else() +elseif (NOT DARWIN) target_link_libraries(ll::openssl INTERFACE ssl crypto) -endif (WINDOWS AND NOT USESYSTEMLIBS) -if (NOT (WINDOWS AND USESYSTEMLIBS)) -target_include_directories( ll::openssl SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include) -endif (NOT (WINDOWS AND USESYSTEMLIBS)) +endif (WINDOWS) + +target_include_directories(ll::openssl SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include) |
