2025-11-11 17:46:19 +08:00
|
|
|
cmake_minimum_required(VERSION 3.0...3.5)
|
|
|
|
|
|
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
|
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (CMAKE_SYSTEM_NAME STREQUAL "OHOS")
|
|
|
|
|
|
|
|
|
|
else ()
|
|
|
|
|
|
|
|
|
|
endif ()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
add_library(crypto STATIC
|
|
|
|
|
src/crypto.cpp
|
|
|
|
|
)
|
|
|
|
|
add_library(ssl STATIC
|
|
|
|
|
src/ssl.cpp
|
|
|
|
|
)
|
|
|
|
|
if (WIN32)
|
2025-12-03 18:08:23 +08:00
|
|
|
set(CC_OPENSSL_INC
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openssl/Win32/include
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openssl/Win32/include/openssl
|
|
|
|
|
PARENT_SCOPE
|
|
|
|
|
)
|
|
|
|
|
target_include_directories(crypto PUBLIC
|
|
|
|
|
${CC_OPENSSL_INC}
|
|
|
|
|
)
|
|
|
|
|
target_link_libraries(crypto PUBLIC
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openssl/Win32/bin/libcrypto-3-x64.dll
|
|
|
|
|
)
|
|
|
|
|
target_include_directories(ssl PUBLIC
|
|
|
|
|
${CC_OPENSSL_INC}
|
|
|
|
|
)
|
|
|
|
|
target_link_libraries(ssl PUBLIC
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openssl/Win32/bin/libssl-3-x64.dll
|
|
|
|
|
)
|
2025-11-11 17:46:19 +08:00
|
|
|
elseif (CMAKE_SYSTEM_NAME STREQUAL "OHOS")
|
|
|
|
|
set(CC_OPENSSL_INC
|
2025-12-03 18:08:23 +08:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openssl/OpenHarmony/${OHOS_ARCH}/include
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openssl/OpenHarmony/${OHOS_ARCH}/include/openssl
|
2025-11-11 17:46:19 +08:00
|
|
|
PARENT_SCOPE
|
|
|
|
|
)
|
|
|
|
|
target_include_directories(crypto PUBLIC
|
|
|
|
|
${CC_OPENSSL_INC}
|
|
|
|
|
)
|
|
|
|
|
target_link_libraries(crypto PUBLIC
|
2025-12-03 18:08:23 +08:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openssl/OpenHarmony/${OHOS_ARCH}/lib/libcrypto.a
|
2025-11-11 17:46:19 +08:00
|
|
|
)
|
|
|
|
|
target_include_directories(ssl PUBLIC
|
|
|
|
|
${CC_OPENSSL_INC}
|
|
|
|
|
)
|
|
|
|
|
target_link_libraries(ssl PUBLIC
|
2025-12-03 18:08:23 +08:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openssl/OpenHarmony/${OHOS_ARCH}/lib/libssl.a
|
2025-11-11 17:46:19 +08:00
|
|
|
)
|
|
|
|
|
elseif (UNIX)
|
|
|
|
|
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if (CMAKE_HOST_WIN32)
|
2025-12-03 18:08:23 +08:00
|
|
|
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
|
|
|
|
|
|
|
|
add_custom_command(TARGET crypto POST_BUILD
|
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openssl/Win32/bin/libcrypto-3-x64.dll
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openssl/Win32/bin/libssl-3-x64.dll
|
|
|
|
|
${CMAKE_BINARY_DIR}/bin
|
|
|
|
|
COMMENT "Copying crypto and ssl DLLs to bin directory"
|
|
|
|
|
)
|
2025-11-11 17:46:19 +08:00
|
|
|
endif ()
|
|
|
|
|
|