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) 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 ) elseif (CMAKE_SYSTEM_NAME STREQUAL "OHOS") set(CC_OPENSSL_INC ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openssl/OpenHarmony/${OHOS_ARCH}/include ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openssl/OpenHarmony/${OHOS_ARCH}/include/openssl PARENT_SCOPE ) target_include_directories(crypto PUBLIC ${CC_OPENSSL_INC} ) target_link_libraries(crypto PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openssl/OpenHarmony/${OHOS_ARCH}/lib/libcrypto.a ) target_include_directories(ssl PUBLIC ${CC_OPENSSL_INC} ) target_link_libraries(ssl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openssl/OpenHarmony/${OHOS_ARCH}/lib/libssl.a ) elseif (UNIX) endif() if (CMAKE_HOST_WIN32) 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" ) endif ()