Set OPENSSL_ROOT_DIR for cmake if not set

This will allow people to use find_package(OpenSSL) in their root CMakeLists.txt
after including the cmake files
This commit is contained in:
Dominik Berner
2023-11-28 11:05:43 +02:00
committed by BogDan Vatra
parent 7f5f34d160
commit 5dece53f62
2 changed files with 40 additions and 29 deletions
+21 -15
View File
@@ -1,20 +1,26 @@
function(add_android_openssl_libraries)
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
set (ssl_root_path ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/no-asm)
else()
set (ssl_root_path ${CMAKE_CURRENT_FUNCTION_LIST_DIR})
endif()
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
set(ssl_root_path ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/no-asm)
else()
set(ssl_root_path ${CMAKE_CURRENT_FUNCTION_LIST_DIR})
endif()
if (Qt6_VERSION VERSION_GREATER_EQUAL 6.5.0)
list(APPEND android_extra_libs
${ssl_root_path}/ssl_3/${CMAKE_ANDROID_ARCH_ABI}/libcrypto_3.so
${ssl_root_path}/ssl_3/${CMAKE_ANDROID_ARCH_ABI}/libssl_3.so)
else()
list(APPEND android_extra_libs
${ssl_root_path}/ssl_1.1/${CMAKE_ANDROID_ARCH_ABI}/libcrypto_1_1.so
${ssl_root_path}/ssl_1.1/${CMAKE_ANDROID_ARCH_ABI}/libssl_1_1.so)
if(Qt6_VERSION VERSION_GREATER_EQUAL 6.5.0)
if(NOT OPENSSL_ROOT_DIR)
set(OPENSSL_ROOT_DIR ${SSL_ROOT_PATH}/ssl_3/${CMAKE_ANDROID_ARCH_ABI})
endif()
list(APPEND android_extra_libs
${ssl_root_path}/ssl_3/${CMAKE_ANDROID_ARCH_ABI}/libcrypto_3.so
${ssl_root_path}/ssl_3/${CMAKE_ANDROID_ARCH_ABI}/libssl_3.so)
else()
if(NOT OPENSSL_ROOT_DIR)
set(OPENSSL_ROOT_DIR ${SSL_ROOT_PATH}/ssl_1.1/${CMAKE_ANDROID_ARCH_ABI})
endif()
list(APPEND android_extra_libs
${ssl_root_path}/ssl_1.1/${CMAKE_ANDROID_ARCH_ABI}/libcrypto_1_1.so
${ssl_root_path}/ssl_1.1/${CMAKE_ANDROID_ARCH_ABI}/libssl_1_1.so)
endif()
set_target_properties(${ARGN} PROPERTIES
QT_ANDROID_EXTRA_LIBS "${android_extra_libs}")
set_target_properties(${ARGN} PROPERTIES QT_ANDROID_EXTRA_LIBS
"${android_extra_libs}")
endfunction()